20230201_145_upperpc/InSituLaboratory/ViewModels/Pages/DashboardViewModel.cs
2024-04-28 09:27:21 +08:00

91 lines
4.1 KiB
C#

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;
}
}
}
}