using Cowain.Bake.BLL; using Cowain.Bake.Model.Entity; using Cowain.Bake.Common; using Cowain.Bake.Model; using Prism.Regions; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using Unity; using Prism.Commands; using HandyControl.Controls; using Newtonsoft.Json; using Cowain.Bake.Model.Models; using System.Linq; namespace Cowain.Bake.UI.DataQuery.ViewModels { public class DummyInfoViewModel:ViewModelBase { public DummyInfoViewModel(IUnityContainer unityContainer, IRegionManager regionManager) : base(unityContainer, regionManager) { this.PageTitle = "电池追踪"; } private ObservableCollection cellList; public ObservableCollection CellList { get => cellList ?? (cellList = new ObservableCollection()); set { SetProperty(ref cellList, value); } } public DelegateCommand DummyQueryCommand => new DelegateCommand((x) => { CellList.Clear(); if (string.IsNullOrWhiteSpace(Code)) { HandyControl.Controls.MessageBox.Error($@"没有数据!请输入正确的条码", "操作提示"); return; } BatteryInfoEntity batteryInfo = _unityContainer.Resolve().QueryBatteryWaterValue(Code); if(null == batteryInfo) { HandyControl.Controls.MessageBox.Error($@"没有数据到所属托盘或没有此电芯!", "警告"); return; } if (!string.IsNullOrEmpty(batteryInfo.WaterValue)) { List waterModelList = JsonConvert.DeserializeObject>(batteryInfo.WaterValue); WaterModel waterModel = waterModelList.OrderByDescending(w=>w.Id).FirstOrDefault(); batteryInfo.SeptumValue = waterModel.SeptumWaterValue; batteryInfo.AnodeValue = waterModel.AnodeWaterValue; batteryInfo.CathodeValue = waterModel.CathodeWaterValue; } CellList.Add(batteryInfo); Growl.Success("查询完成!"); }); } }