| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 | using Aitex.Core.Util;using MECF.Framework.Common.OperationCenter;using System;using VirgoUI.Client.Models.Sys;namespace VirgoUI.Client.Models.Operate.FA{    public class FAViewModel : UiViewModelBase    {        private int MenuPermission;        public enum CommunicationState        {            Disabled,            Enabled,            EnabledNotCommunicating,            EnabledCommunicating,            WaitCRA,            WaitDelay,            WaitCRFromHost,        }        public enum ControlState        {            Unknown,            EquipmentOffline,            AttemptOnline,            HostOffline,            OnlineLocal,            OnlineRemote,        }        [Subscription("System.CommunicationStatus")]        public string HostCommunicationStatus { get; set; }        [Subscription("System.ControlStatus")]        public string HostControlStatus { get; set; }        [Subscription("System.SpoolingState")]        public int SpoolingState { get; set; }        [Subscription("System.SpoolingActual")]        public string SpoolingActual { get; set; }        [Subscription("System.SpoolingTotal")]        public string SpoolingTotal { get; set; }        [Subscription("System.SpoolingFullTime")]        public string SpoolingFullTime { get; set; }        [Subscription("System.SpoolingStartTime")]        public string SpoolingStartTime { get; set; }        [Subscription("System.IsSpoolingEnable")]        public bool IsSpoolingEnable { get; set; }        public CommunicationState FACommunicationState        {            get            {                return string.IsNullOrEmpty(HostCommunicationStatus) ? CommunicationState.Disabled                    : (CommunicationState)Enum.Parse(typeof(CommunicationState), HostCommunicationStatus);            }        }        public ControlState FAControlState        {            get            {                return string.IsNullOrEmpty(HostControlStatus) ? ControlState.Unknown                    : (ControlState)Enum.Parse(typeof(ControlState), HostControlStatus);            }        }        public bool IsEnableEnable        {            get { return FACommunicationState == CommunicationState.Disabled; }        }        public bool IsEnableDisable        {            get { return FACommunicationState != CommunicationState.Disabled; }        }        //Unknown,        //EquipmentOffline,        //AttemptOnline,        //HostOffline,        //OnlineLocal,        //OnlineRemote,        public bool IsEnableOnline        {            get { return FAControlState == ControlState.Unknown || FAControlState == ControlState.EquipmentOffline; }        }        public bool IsEnableOffline        {            get { return FAControlState == ControlState.Unknown || FAControlState != ControlState.EquipmentOffline; }        }        public bool IsEnableLocal        {            get { return FAControlState == ControlState.OnlineRemote; }        }        public bool IsEnableRemote        {            get { return FAControlState == ControlState.OnlineLocal; }        }        public bool IsEnableEnableSpooling        {            get            {                return !IsSpoolingEnable;//SpoolingState == FASpoolingState.Inactive.ToString();            }        }        public bool IsEnableDisableSpooling        {            get            {                return IsSpoolingEnable;// SpoolingState == FASpoolingState.Active.ToString();            }        }        public FAViewModel()        {            MenuPermission = ClientApp.Instance.GetPermission("FA");            this.DisplayName = "FA";        }        protected override void OnInitialize()        {            base.OnInitialize();        }        public void FaEnable()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand", "FAEnable");        }        public void FaDisable()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand", "FADisable");        }        public void FaOnline()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand","FAOnline");        }        public void FaOffline()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand", "FAOffline");        }        public void FaLocal()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand","FALocal");        }        public void FaRemote()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand","FARemote");        }        public void FaEnableSpooling()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand",  "FAEnableSpooling");        }        public void FaDisableSpooling()        {            if (MenuPermission != 3) return;            InvokeClient.Instance.Service.DoOperation("FACommand", "FADisableSpooling");        }    }}
 |