using Caliburn.Micro; using Caliburn.Micro.Core; using Aitex.Core.Common.DeviceData; using Aitex.Core.UI.ControlDataContext; using Aitex.Core.Util; using System.Windows; using System.Collections.Generic; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.OperationCenter; using FurnaceUI.Models; using FurnaceUI.Views.Editors; namespace FurnaceUI.Views.Maintenances { public class HeaterViewModel : FurnaceUIViewModelBase { public bool IsPermission { get => this.Permission == 3; } private bool _ismanagerPermission = false; public bool IsManagerPermission { get => _ismanagerPermission; set { _ismanagerPermission = value; NotifyOfPropertyChange(nameof(IsManagerPermission)); } } [Subscription("PM1.Heater1.DeviceData")] public AITHeaterData Heater1Data { get; set; } [Subscription("PM1.Heater2.DeviceData")] public AITHeaterData Heater2Data { get; set; } [Subscription("PM1.Heater3.DeviceData")] public AITHeaterData Heater3Data { get; set; } [Subscription("PM1.Heater4.DeviceData")] public AITHeaterData Heater4Data { get; set; } [Subscription("PM1.Heater5.DeviceData")] public AITHeaterData Heater5Data { get; set; } [Subscription("PM1.Heater6.DeviceData")] public AITHeaterData Heater6Data { get; set; } [Subscription("PM1.Heater7.DeviceData")] public AITHeaterData Heater7Data { get; set; } [Subscription("PM1.Heater8.DeviceData")] public AITHeaterData Heater8Data { get; set; } [Subscription("PM1.Heater9.DeviceData")] public AITHeaterData Heater9Data { get; set; } [Subscription("PM1.Heater10.DeviceData")] public AITHeaterData Heater10Data { get; set; } public bool Heater1IsChecked { get; set; } public bool Heater2IsChecked { get; set; } public bool Heater3IsChecked { get; set; } public bool Heater4IsChecked { get; set; } public bool Heater5IsChecked { get; set; } public bool Heater6IsChecked { get; set; } public bool Heater7IsChecked { get; set; } public bool Heater8IsChecked { get; set; } public bool Heater9IsChecked { get; set; } public bool Heater10IsChecked { get; set; } private bool _manualCheck; public bool ManumalCheck { get => _manualCheck; set { _manualCheck = value; NotifyOfPropertyChange(nameof(ManumalCheck)); } } private bool _manualCheckHide; public bool ManumalCheckHide { get => _manualCheckHide; set { _manualCheckHide = value; NotifyOfPropertyChange(nameof(ManumalCheckHide)); } } private bool _manualCheckSelect = false; public HeaterViewModel() { } protected override void OnActivate() { base.OnActivate(); Heater1IsChecked = true; } public void SetManual() { if (!_manualCheckSelect) { _manualCheckSelect = !_manualCheckSelect; IsManagerPermission = true; } else { IsManagerPermission = false; ManumalCheck = false; ManumalCheckHide = true; _manualCheckSelect = !_manualCheckSelect; } } protected override void OnDeactivate(bool close) { base.OnDeactivate(close); } public void SetValue(object heater, object para, object value) { var windowManager = IoC.Get(); switch ((string)para) { case "SetOffsetTable": TempOffsetTableViewModel tempOffsetTableViewModel = new TempOffsetTableViewModel(); if (value != null) tempOffsetTableViewModel.TempOffsetTableSelected = value.ToString(); if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(tempOffsetTableViewModel, null, "Temperature Offset Table Setting")) { if (tempOffsetTableViewModel.TempOffsetTableSelected != "None") value = $"Table{tempOffsetTableViewModel.TempOffsetTableSelected}"; else value = tempOffsetTableViewModel.TempOffsetTableSelected; } else { return; } break; case "SetProfileTable": TempProfileTableViewModel tempProfileTableViewModel = new TempProfileTableViewModel(); if (value != null) tempProfileTableViewModel.TempProfileTableSelected = value.ToString(); if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(tempProfileTableViewModel, null, "Temperature Profile Table Setting")) { if (tempProfileTableViewModel.TempProfileTableSelected != "None") value = $"Table{tempProfileTableViewModel.TempProfileTableSelected}"; else value = tempProfileTableViewModel.TempProfileTableSelected; } else { return; } break; } InvokeClient.Instance.Service.DoOperation($"PM1.{heater}.{para}", value.ToString()); } } }