using Prism.Mvvm; using System.Linq; using Prism.Events; using SHJX.Service.Common.Event; using SHJX.Service.Common.Interface; using SHJX.Service.Control.Interface; using SHJX.Service.Model.CRUDModules; using System.Collections.ObjectModel; using System; using Panuon.UI.Silver; namespace SHJX.Service.Shell.ViewModels.Setting { public class TitrationSettingWindowViewModel : BindableBase { #region Field private readonly ILogService _log; private readonly IEventAggregator _ea; private readonly ISettingService _service; #endregion #region Property public ObservableCollection TitrationValues { get; set; } public ObservableCollection Titration2Values { get; set; } public ObservableCollection CameraValues { get; set; } public ObservableCollection Camera2Values { get; set; } public ObservableCollection LiquidAmounts { get; set; } #endregion public TitrationSettingWindowViewModel(IEventAggregator ea, ILogService log, ISettingService service) { _ea = ea; _log = log; _service = service; TitrationValues = new ObservableCollection(_service.GetData()); Titration2Values = new ObservableCollection(_service.GetData()); CameraValues = new ObservableCollection(_service.GetData()); Camera2Values = new ObservableCollection(_service.GetData()); LiquidAmounts = new ObservableCollection(_service.GetData()); _ea.GetEvent().Subscribe(UpdateSetting); _ea.GetEvent().Subscribe(() => { _ea.GetEvent().Unsubscribe(UpdateSetting); }); } #region Method private void UpdateSetting() { var ret = _service.UpdateSetting(TitrationValues.ToList()); ret = ret && _service.UpdateSetting(Titration2Values.ToList()); ret = ret && _service.UpdateSetting(CameraValues.ToList()); ret = ret && _service.UpdateSetting(Camera2Values.ToList()); ret = ret && _service.UpdateSetting(LiquidAmounts.ToList()); Notice.Show($"设备相关设置更新{(ret ? "成功" : "失败")}", "Info", 3, Panuon.UI.Silver.MessageBoxIcon.Info); } #endregion } }