using CapMachine.Core; using CapMachine.Model; using CapMachine.Wpf.Dtos; using DryIoc; 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 { /// /// CAN 配置的弹窗 /// public class DialogCanRwConfigViewModel:DialogViewModel { public DialogCanRwConfigViewModel() { Title = "CAN 配置"; } private string name; /// /// 名称 /// public string Name { get { return name; } set { name = value; RaisePropertyChanged(); } } private ObservableCollection _ListChartTabGroupDto; /// /// 数据集合 /// public ObservableCollection ListChartTabGroupDto { get { return _ListChartTabGroupDto; } set { _ListChartTabGroupDto = value; RaisePropertyChanged(); } } private DelegateCommand saveCmd; /// /// 保存命令 /// public DelegateCommand SaveCmd { set { saveCmd = value; } get { if (saveCmd == null) { saveCmd = new DelegateCommand(() => SaveCmdMethod()); } return saveCmd; } } /// /// 保存命令方法 /// /// private void SaveCmdMethod() { if (ListChartTabGroupDto.Where(a => a.IsEnable == true).Count() == 0) { MessageBox.Show("未发现【启用】的选型,这将要导致没有任何显示!,请检查后再提交"); return; } foreach (var item in ListChartTabGroupDto) { //FreeSql.Update() // .Set(a => a.Name, item.Name) // .Set(a => a.IsEnable, item.IsEnable) // .Where(a => a.Index == item.Index) // .ExecuteAffrows(); } DialogParameters pars = new DialogParameters { { "NewData", ListChartTabGroupDto.Where(a=>a.IsEnable==true).ToList() } }; RaiseRequestClose(new DialogResult(ButtonResult.OK, pars)); } private DelegateCommand cancelCmd; /// /// 保存命令 /// public DelegateCommand CancelCmd { set { cancelCmd = value; } get { if (cancelCmd == null) { cancelCmd = new DelegateCommand(() => CancelCmdMethod()); } return cancelCmd; } } /// /// 取消命令方法 /// /// private void CancelCmdMethod() { RaiseRequestClose(new DialogResult(ButtonResult.Cancel)); } /// /// 窗口打开时的传递的参数 /// /// public override void OnDialogOpened(IDialogParameters parameters) { Name = parameters.GetValue("Name"); } } }