using LiveCharts.Defaults; using LiveCharts.Wpf; using LiveCharts; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using InSituLaboratory.Models; using InSituLaboratory.Entities.ExperimentalStationEntities; using Prism.Regions; using InSituLaboratory.IService; using Prism.Commands; namespace InSituLaboratory.ViewModels.Pages { public class DashboardViewModel : ViewModelBase { #region 实体类 public SysStatusModel SysStatusModel { get; set; } = new SysStatusModel(); public CurrentEquipmentModel CurrentWorkEquipment { get; set; } = new CurrentEquipmentModel();//当前工作设备 public CurrentEquipmentModel currentFaultyEquipment { get; set; } = new CurrentEquipmentModel();//当前故障设备 #endregion ISysStatusService _sysStatusService; public DashboardViewModel(IRegionManager regionManager, ISysStatusService isysStatusService) : base(regionManager) { PageTitle = "数据中心"; IsCanClose = false; _sysStatusService = isysStatusService; this.Refresh(); } public override void Refresh() { var sysStatuslist = _sysStatusService.GetSysStauts().ToList(); var CurrentWorklist = _sysStatusService.GetCurrentWorkEquipment().ToList(); var currentFaultylist = _sysStatusService.GetCurrentFaultyEquipment().ToList(); if (sysStatuslist.Count() != 0) { var data = _sysStatusService.GetSysStauts().FirstOrDefault(); SysStatusModel.PackagingTime = data.PackagingTime; SysStatusModel.SamplingTime = data.SamplingTime; SysStatusModel.Voltage48 = data.Voltage48; SysStatusModel.Current48 = data.Current48; SysStatusModel.BaseStation48VLeakageCS = data.BaseStation48VLeakageCS; SysStatusModel.Batterz48VLeakageCS = data.Batterz48VLeakageCS; SysStatusModel.ICLLeakageCS = data.ICLLeakageCS; SysStatusModel.IComputerLeakageCS = data.IComputerLeakageCS; SysStatusModel.TemperatureStaus1 = data.TemperatureStaus1; SysStatusModel.TemperatureStaus2 = data.TemperatureStaus2; SysStatusModel.HumidityStaus1 = data.HumidityStaus1; SysStatusModel.HumidityStaus2 = data.HumidityStaus2; SysStatusModel.LeakageStaus1 = data.LeakageStaus1; SysStatusModel.LeakageStaus2 = data.LeakageStaus2; SysStatusModel.InternalPressure1 = data.InternalPressure1; SysStatusModel.InternalPressure2 = data.InternalPressure2; } if (CurrentWorklist.Count() != 0) { var data = _sysStatusService.GetCurrentWorkEquipment().First(); CurrentWorkEquipment.Chromatograph_MEMS = data.Chromatograph_MEMS; CurrentWorkEquipment.MassSpectrometer_MEMS = data.MassSpectrometer_MEMS; CurrentWorkEquipment.ColorMassSpectrometer = data.ColorMassSpectrometer; CurrentWorkEquipment.CH4Analyzer = data.CH4Analyzer; CurrentWorkEquipment.CO2Analyzer = data.CO2Analyzer; CurrentWorkEquipment.ParticleAnalyzer = data.ParticleAnalyzer; CurrentWorkEquipment.Sequencer = data.Sequencer; } if (currentFaultylist.Count() != 0) { var data = _sysStatusService.GetCurrentFaultyEquipment().First(); currentFaultyEquipment.Chromatograph_MEMS = data.Chromatograph_MEMS; currentFaultyEquipment.MassSpectrometer_MEMS = data.MassSpectrometer_MEMS; currentFaultyEquipment.ColorMassSpectrometer = data.ColorMassSpectrometer; currentFaultyEquipment.CH4Analyzer = data.CH4Analyzer; currentFaultyEquipment.CO2Analyzer = data.CO2Analyzer; currentFaultyEquipment.ParticleAnalyzer = data.ParticleAnalyzer; currentFaultyEquipment.Sequencer = data.Sequencer; } } } }