LIN SCH DIALOG 更改
This commit is contained in:
@@ -15,11 +15,12 @@ namespace CapMachine.Wpf.ViewModels
|
|||||||
{
|
{
|
||||||
public class DialogLINSchConfigViewModel : DialogViewModel
|
public class DialogLINSchConfigViewModel : DialogViewModel
|
||||||
{
|
{
|
||||||
public DialogLINSchConfigViewModel(IFreeSql freeSql, IMapper mapper)
|
public DialogLINSchConfigViewModel(IFreeSql freeSql, IMapper mapper, LinDriveService linDriveService)
|
||||||
{
|
{
|
||||||
Title = "调度表 LIN 配置";
|
Title = "调度表 LIN 配置";
|
||||||
FreeSql = freeSql;
|
FreeSql = freeSql;
|
||||||
Mapper = mapper;
|
Mapper = mapper;
|
||||||
|
LinDriveService = linDriveService;
|
||||||
|
|
||||||
//默认只能用1号调度器
|
//默认只能用1号调度器
|
||||||
SchTabIndexCbxItems = new ObservableCollection<CbxItems>()
|
SchTabIndexCbxItems = new ObservableCollection<CbxItems>()
|
||||||
@@ -53,6 +54,7 @@ namespace CapMachine.Wpf.ViewModels
|
|||||||
|
|
||||||
public IFreeSql FreeSql { get; }
|
public IFreeSql FreeSql { get; }
|
||||||
public IMapper Mapper { get; }
|
public IMapper Mapper { get; }
|
||||||
|
public LinDriveService LinDriveService { get; }
|
||||||
|
|
||||||
private string name;
|
private string name;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -413,45 +415,17 @@ namespace CapMachine.Wpf.ViewModels
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void LoadSch()
|
private void LoadSch()
|
||||||
{
|
{
|
||||||
if (ListMsg == null || ListMsg.Count == 0)
|
var ListLINScheduleConfig = LinDriveService.ToomossLinDrive.GetLINScheduleConfigs();
|
||||||
{
|
ListLINScheduleConfigDto.Clear();
|
||||||
MessageBox.Show("当前没有可配置的消息帧(ListMsg 为空)", "提示", MessageBoxButton.OK, MessageBoxImage.Hand);
|
//先清空
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 覆盖当前配置程序的调度表(系统层面的调度表,来源于 UI 选择的消息帧集合)
|
|
||||||
FreeSql.Delete<LINScheduleConfig>()
|
FreeSql.Delete<LINScheduleConfig>()
|
||||||
.Where(a => a.CanLinConfigProId == SelectCanLinConfigProId)
|
.Where(a => a.CanLinConfigProId == SelectCanLinConfigProId)
|
||||||
.ExecuteAffrows();
|
.ExecuteAffrows();
|
||||||
|
|
||||||
var schTabName = "Default";
|
foreach (var item in ListLINScheduleConfig)
|
||||||
var schTabIndex = 0;
|
|
||||||
var defaultCycle = 100;
|
|
||||||
|
|
||||||
var idx = 0;
|
|
||||||
foreach (var msg in ListMsg.Where(a => !string.IsNullOrWhiteSpace(a)).Distinct(StringComparer.Ordinal))
|
|
||||||
{
|
{
|
||||||
var dto = new LINScheduleConfigDto
|
ListLINScheduleConfigDto.Add(Mapper.Map<LINScheduleConfigDto>(item));
|
||||||
{
|
|
||||||
CanLinConfigProId = SelectCanLinConfigProId,
|
|
||||||
SchTabName = schTabName,
|
|
||||||
SchTabIndex = schTabIndex,
|
|
||||||
MsgName = msg,
|
|
||||||
MsgNameIndex = idx++,
|
|
||||||
Cycle = defaultCycle,
|
|
||||||
IsActive = true,
|
|
||||||
IsMsgActived = true,
|
|
||||||
};
|
|
||||||
|
|
||||||
FreeSql.InsertOrUpdate<LINScheduleConfig>()
|
|
||||||
.SetSource(Mapper.Map<LINScheduleConfig>(dto))
|
|
||||||
.ExecuteAffrows();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ListLINScheduleConfigDto = new ObservableCollection<LINScheduleConfigDto>(
|
|
||||||
Mapper.Map<List<LINScheduleConfigDto>>(
|
|
||||||
FreeSql.Select<LINScheduleConfig>().Where(a => a.CanLinConfigProId == SelectCanLinConfigProId).ToList()));
|
|
||||||
|
|
||||||
// 重新构建树
|
// 重新构建树
|
||||||
BuildTree();
|
BuildTree();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user