| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | using Caliburn.Micro;using Caliburn.Micro.Core;using Aitex.Core.Common.DeviceData;using Aitex.Core.UI.ControlDataContext;using Aitex.Core.Util;using MECF.Framework.Common.DataCenter;using MECF.Framework.Common.OperationCenter;using FurnaceUI.Models;using FurnaceUI.Views.Editors;using System.Collections.ObjectModel;using System.Collections.Generic;using System.Threading.Tasks;using System.Reflection;using System;using Aitex.Core.RT.Log;using System.Linq;using System.Windows;namespace FurnaceUI.Views.Maintenances{    public class FIMSSensorViewModel : FurnaceUIViewModelBase    {        public bool IsManagerPermission { get => this.Permission == 3; }               public bool IsSystemStaus => (RtStatus != "AutoRunning");        [Subscription("FIMS1.Status")]        public string FIMS1Status { get; set; }        [Subscription("FIMS2.Status")]        public string FIMS2Status { get; set; }        [Subscription("Rt.Status")]        public string RtStatus { get; set; }        [Subscription("FIMS1.IsOnline")]        public bool FIMS1IsOnline { get; set; }        [Subscription("FIMS2.IsOnline")]        public bool FIMS2IsOnline { get; set; }        public bool IsFIMS1OnlineButtonEnable => !FIMS1IsOnline;        public bool IsFIMS2OnlineButtonEnable => !FIMS2IsOnline;        public bool IsFIMS1OfflineButtonEnable => FIMS1IsOnline && RtStatus != "AutoRunning";        public bool IsFIMS2OfflineButtonEnable => FIMS2IsOnline && RtStatus != "AutoRunning";        public FIMSSensorViewModel()        {        }        public void Home(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target}.Home");        }        public void Load(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target}.Load");        }        public void Unload(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target}.Unload");        }        public void SetAlarmReset(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target?.ToString().Split('.').ToList().LastOrDefault()}.Reset");        }        public void SetOnline(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target}.SetOnline");        }        public void SetOffline(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target}.SetOffline");        }        public void ClosedCmd()        {            (GetView() as Window).Close();        }    }}
 |