using AutoMapper;
using CapMachine.Core;
using CapMachine.Model;
using CapMachine.Model.CANLIN;
using CapMachine.Wpf.Dtos;
using CapMachine.Wpf.Services;
using ImTools;
using Prism.Commands;
using Prism.Services.Dialogs;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace CapMachine.Wpf.ViewModels
{
///
/// ZLG CAN 调度表配置
///
public class DialogZlgCANSchConfigViewModel : DialogViewModel
{
///
/// 构造函数
///
public DialogZlgCANSchConfigViewModel(IFreeSql freeSql, IMapper mapper)
{
Title = "调度表 CAN 配置";
FreeSql = freeSql;
Mapper = mapper;
SendOrderCbxItems = new ObservableCollection()
{
new CbxItems(){
Key="0",
Text="并行",
},
new CbxItems(){
Key="1",
Text="顺序",
},
};
//默认只能用1号调度器
SchTabIndexCbxItems = new ObservableCollection()
{
new CbxItems(){
Key="0",
Text="0",
},
//new CbxItems(){
// Key="1",
// Text="1",
//},
//new CbxItems(){
// Key="2",
// Text="2",
//},
//new CbxItems(){
// Key="3",
// Text="3",
//},
//new CbxItems(){
// Key="4",
// Text="4",
//},
};
}
///
/// FreeSql(用于调度表项的删除/保存落库)。
///
public IFreeSql FreeSql { get; }
///
/// AutoMapper(DTO 与实体映射)。
///
public IMapper Mapper { get; }
private string name;
///
/// 名称
///
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged(); }
}
private ObservableCollection _ListCANScheduleConfigDto = new ObservableCollection();
///
/// CAN 调度表数据集合
///
public ObservableCollection ListCANScheduleConfigDto
{
get { return _ListCANScheduleConfigDto; }
set { _ListCANScheduleConfigDto = value; RaisePropertyChanged(); }
}
///
/// 消息/帧报文信息集合
///
public List? ListMsg { get; set; }
private ObservableCollection _MsgCbxItems;
///
/// 消息名称 集合信息
///
public ObservableCollection MsgCbxItems
{
get { return _MsgCbxItems; }
set { _MsgCbxItems = value; RaisePropertyChanged(); }
}
///
/// 选中的程序的Id
///
public long SelectCanLinConfigProId { get; set; }
private ObservableCollection _SendOrderCbxItems;
///
/// 发送方式 集合信息
///
public ObservableCollection SendOrderCbxItems
{
get { return _SendOrderCbxItems; }
set { _SendOrderCbxItems = value; RaisePropertyChanged(); }
}
private string? _CurSendOrder;
///
/// 当前发送方式
///
public string? CurSendOrder
{
get { return _CurSendOrder; }
set { _CurSendOrder = value; RaisePropertyChanged(); }
}
private ObservableCollection _SchTabIndexCbxItems;
///
/// 调度器序号 集合信息
///
public ObservableCollection SchTabIndexCbxItems
{
get { return _SchTabIndexCbxItems; }
set { _SchTabIndexCbxItems = value; RaisePropertyChanged(); }
}
private CANScheduleConfigDto _CurSelectedItem;
///
/// 当前选中的调度表项(用于删除等操作)。
///
public CANScheduleConfigDto CurSelectedItem
{
get { return _CurSelectedItem; }
set { _CurSelectedItem = value; RaisePropertyChanged(); }
}
private DelegateCommand