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