using InSituLaboratory.Entities; using InSituLaboratory.IService; using InSituLaboratory.Models; using InSituLaboratory.Service; using Microsoft.IdentityModel.Tokens; using Prism.Commands; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Forms; namespace InSituLaboratory.ViewModels.Pages.Dialogs { /// /// 新增/编辑设备配置 /// public class ModifySysDevicesViewModel : DialogViewModelBase { public SysDevicesModel SysDevice { get; set; } = new SysDevicesModel(); ISysDevcieService _iSysDevcieService; public ModifySysDevicesViewModel(ISysDevcieService sysDevcieService) { _iSysDevcieService = sysDevcieService; SaveCommand = new DelegateCommand(DoSave); } /// /// 打开弹窗 /// /// public override void OnDialogOpened(IDialogParameters parameters) { var model = parameters.GetValue("model"); if (model == null) { Title = "新增参数配置"; } else { Title = "编辑参数配置"; var sm = _iSysDevcieService.Find(model.ID); SysDevice.ID = sm.Id; SysDevice.DeviceType = sm.DeviceType; SysDevice.DeviceName = sm.DeviceName; SysDevice.WorkTime = sm.WorkTime; SysDevice.MinWorkTime = sm.MinWorkTime; } } /// /// 新增/编辑保存 /// public override void DoSave() { try { //非空校验 if (string.IsNullOrEmpty(SysDevice.DeviceType) || string.IsNullOrEmpty(SysDevice.DeviceName) || string.IsNullOrEmpty(SysDevice.WorkTime) || string.IsNullOrEmpty(SysDevice.MinWorkTime)) { throw new Exception("参数配置信息不能为空!"); } //新增 if (SysDevice.ID == 0) { _iSysDevcieService.Insert(new SysDevice { DeviceType = SysDevice.DeviceType, DeviceName = SysDevice.DeviceName, WorkTime = SysDevice.WorkTime, MinWorkTime = SysDevice.MinWorkTime, }); } //编辑 else { var entity = _iSysDevcieService.Find(SysDevice.ID); entity.DeviceType = SysDevice.DeviceType; entity.DeviceName = SysDevice.DeviceName; entity.WorkTime = SysDevice.WorkTime; entity.MinWorkTime= SysDevice.MinWorkTime; _iSysDevcieService.Update(entity); } base.DoSave(); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } } }