FAViewModel.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. using Aitex.Core.Util;
  2. using MECF.Framework.Common.OperationCenter;
  3. using System;
  4. using VirgoUI.Client.Models.Sys;
  5. namespace VirgoUI.Client.Models.Operate.FA
  6. {
  7. public class FAViewModel : UiViewModelBase
  8. {
  9. private int MenuPermission;
  10. public enum CommunicationState
  11. {
  12. Disabled,
  13. Enabled,
  14. EnabledNotCommunicating,
  15. EnabledCommunicating,
  16. WaitCRA,
  17. WaitDelay,
  18. WaitCRFromHost,
  19. }
  20. public enum ControlState
  21. {
  22. Unknown,
  23. EquipmentOffline,
  24. AttemptOnline,
  25. HostOffline,
  26. OnlineLocal,
  27. OnlineRemote,
  28. }
  29. [Subscription("System.CommunicationStatus")]
  30. public string HostCommunicationStatus { get; set; }
  31. [Subscription("System.ControlStatus")]
  32. public string HostControlStatus { get; set; }
  33. [Subscription("System.SpoolingState")]
  34. public int SpoolingState { get; set; }
  35. [Subscription("System.SpoolingActual")]
  36. public string SpoolingActual { get; set; }
  37. [Subscription("System.SpoolingTotal")]
  38. public string SpoolingTotal { get; set; }
  39. [Subscription("System.SpoolingFullTime")]
  40. public string SpoolingFullTime { get; set; }
  41. [Subscription("System.SpoolingStartTime")]
  42. public string SpoolingStartTime { get; set; }
  43. [Subscription("System.IsSpoolingEnable")]
  44. public bool IsSpoolingEnable { get; set; }
  45. public CommunicationState FACommunicationState
  46. {
  47. get
  48. {
  49. return string.IsNullOrEmpty(HostCommunicationStatus) ? CommunicationState.Disabled
  50. : (CommunicationState)Enum.Parse(typeof(CommunicationState), HostCommunicationStatus);
  51. }
  52. }
  53. public ControlState FAControlState
  54. {
  55. get
  56. {
  57. return string.IsNullOrEmpty(HostControlStatus) ? ControlState.Unknown
  58. : (ControlState)Enum.Parse(typeof(ControlState), HostControlStatus);
  59. }
  60. }
  61. public bool IsEnableEnable
  62. {
  63. get { return FACommunicationState == CommunicationState.Disabled; }
  64. }
  65. public bool IsEnableDisable
  66. {
  67. get { return FACommunicationState != CommunicationState.Disabled; }
  68. }
  69. //Unknown,
  70. //EquipmentOffline,
  71. //AttemptOnline,
  72. //HostOffline,
  73. //OnlineLocal,
  74. //OnlineRemote,
  75. public bool IsEnableOnline
  76. {
  77. get { return FAControlState == ControlState.Unknown || FAControlState == ControlState.EquipmentOffline; }
  78. }
  79. public bool IsEnableOffline
  80. {
  81. get { return FAControlState == ControlState.Unknown || FAControlState != ControlState.EquipmentOffline; }
  82. }
  83. public bool IsEnableLocal
  84. {
  85. get { return FAControlState == ControlState.OnlineRemote; }
  86. }
  87. public bool IsEnableRemote
  88. {
  89. get { return FAControlState == ControlState.OnlineLocal; }
  90. }
  91. public bool IsEnableEnableSpooling
  92. {
  93. get
  94. {
  95. return !IsSpoolingEnable;//SpoolingState == FASpoolingState.Inactive.ToString();
  96. }
  97. }
  98. public bool IsEnableDisableSpooling
  99. {
  100. get
  101. {
  102. return IsSpoolingEnable;// SpoolingState == FASpoolingState.Active.ToString();
  103. }
  104. }
  105. public FAViewModel()
  106. {
  107. MenuPermission = ClientApp.Instance.GetPermission("FA");
  108. this.DisplayName = "FA";
  109. }
  110. protected override void OnInitialize()
  111. {
  112. base.OnInitialize();
  113. }
  114. public void FaEnable()
  115. {
  116. if (MenuPermission != 3) return;
  117. InvokeClient.Instance.Service.DoOperation("System.FACommand","FAEnable");
  118. }
  119. public void FaDisable()
  120. {
  121. if (MenuPermission != 3) return;
  122. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FADisable");
  123. }
  124. public void FaOnline()
  125. {
  126. if (MenuPermission != 3) return;
  127. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FAOnline");
  128. }
  129. public void FaOffline()
  130. {
  131. if (MenuPermission != 3) return;
  132. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FAOffline");
  133. }
  134. public void FaLocal()
  135. {
  136. if (MenuPermission != 3) return;
  137. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FALocal");
  138. }
  139. public void FaRemote()
  140. {
  141. if (MenuPermission != 3) return;
  142. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FARemote");
  143. }
  144. public void FaEnableSpooling()
  145. {
  146. if (MenuPermission != 3) return;
  147. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FAEnableSpooling");
  148. }
  149. public void FaDisableSpooling()
  150. {
  151. if (MenuPermission != 3) return;
  152. InvokeClient.Instance.Service.DoOperation("System.FACommand", "FADisableSpooling");
  153. }
  154. }
  155. }