OverViewModel.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. using Aitex.Core.RT.SCCore;
  2. using Prism.Commands;
  3. using Prism.Mvvm;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace Venus_MainPages.ViewModels
  10. {
  11. internal class OverViewModel : BindableBase
  12. {
  13. #region 私有字段
  14. private string m_Gas1Name;
  15. private string m_Gas2Name;
  16. private string m_Gas3Name;
  17. private string m_Gas4Name;
  18. private string m_Gas5Name;
  19. private string m_Gas6Name;
  20. private string m_Gas7Name;
  21. private string m_Gas8Name;
  22. private bool m_VN2Valve1IsOpen;
  23. private bool m_VN2Valve2IsOpen;
  24. private bool m_VN2Valve3IsOpen;
  25. private bool m_Gas1Valve1IsOpen;
  26. private bool m_Gas1Valve2IsOpen;
  27. private bool m_Gas1Valve3IsOpen;
  28. private bool m_Gas2Valve1IsOpen;
  29. private bool m_Gas2Valve2IsOpen;
  30. private bool m_Gas2Valve3IsOpen;
  31. private bool m_Gas3Valve1IsOpen;
  32. private bool m_Gas3Valve2IsOpen;
  33. private bool m_Gas3Valve3IsOpen;
  34. private bool m_Gas4Valve1IsOpen;
  35. private bool m_Gas4Valve2IsOpen;
  36. private bool m_Gas4Valve3IsOpen;
  37. private bool m_Gas5ValveIsOpen;
  38. private bool m_Gas6ValveIsOpen;
  39. private bool m_Gas7ValveIsOpen;
  40. private bool m_Gas8ValveIsOpen;
  41. private bool m_GasFinalValveIsOpen;
  42. private bool m_PurgeValveIsOpen;
  43. private bool m_SoftPumpValveIsOpen;
  44. private bool m_FastPumpValveIsOpen;
  45. #endregion
  46. #region 属性
  47. public string Gas1Name
  48. {
  49. get { return m_Gas1Name; }
  50. set { SetProperty(ref m_Gas1Name, value); }
  51. }
  52. public string Gas2Name
  53. {
  54. get { return m_Gas2Name; }
  55. set { SetProperty(ref m_Gas2Name, value); }
  56. }
  57. public string Gas3Name
  58. {
  59. get { return m_Gas3Name; }
  60. set { SetProperty(ref m_Gas3Name, value); }
  61. }
  62. public string Gas4Name
  63. {
  64. get { return m_Gas4Name; }
  65. set { SetProperty(ref m_Gas4Name, value); }
  66. }
  67. public string Gas5Name
  68. {
  69. get { return m_Gas5Name; }
  70. set { SetProperty(ref m_Gas5Name, value); }
  71. }
  72. public string Gas6Name
  73. {
  74. get { return m_Gas6Name; }
  75. set { SetProperty(ref m_Gas6Name, value); }
  76. }
  77. public string Gas7Name
  78. {
  79. get { return m_Gas7Name; }
  80. set { SetProperty(ref m_Gas7Name, value); }
  81. }
  82. public string Gas8Name
  83. {
  84. get { return m_Gas8Name; }
  85. set { SetProperty(ref m_Gas8Name, value); }
  86. }
  87. public bool GasFinalValveIsOpen
  88. {
  89. get { return m_GasFinalValveIsOpen; }
  90. set { SetProperty(ref m_GasFinalValveIsOpen, value); }
  91. }
  92. public bool VN2Valve1IsOpen
  93. {
  94. get { return m_VN2Valve1IsOpen; }
  95. set { SetProperty(ref m_VN2Valve1IsOpen, value); }
  96. }
  97. public bool VN2Valve2IsOpen
  98. {
  99. get { return m_VN2Valve2IsOpen; }
  100. set { SetProperty(ref m_VN2Valve2IsOpen, value); }
  101. }
  102. public bool VN2Valve3IsOpen
  103. {
  104. get { return m_VN2Valve3IsOpen; }
  105. set { SetProperty(ref m_VN2Valve3IsOpen, value); }
  106. }
  107. public bool Gas1Valve1IsOpen
  108. {
  109. get { return m_Gas1Valve1IsOpen; }
  110. set { SetProperty(ref m_Gas1Valve1IsOpen, value); }
  111. }
  112. public bool Gas1Valve2IsOpen
  113. {
  114. get { return m_Gas1Valve2IsOpen; }
  115. set { SetProperty(ref m_Gas1Valve2IsOpen, value); }
  116. }
  117. public bool Gas1Valve3IsOpen
  118. {
  119. get { return m_Gas1Valve3IsOpen; }
  120. set { SetProperty(ref m_Gas1Valve3IsOpen, value); }
  121. }
  122. public bool Gas2Valve1IsOpen
  123. {
  124. get { return m_Gas2Valve1IsOpen; }
  125. set { SetProperty(ref m_Gas2Valve1IsOpen, value); }
  126. }
  127. public bool Gas2Valve2IsOpen
  128. {
  129. get { return m_Gas2Valve2IsOpen; }
  130. set { SetProperty(ref m_Gas2Valve2IsOpen, value); }
  131. }
  132. public bool Gas2Valve3IsOpen
  133. {
  134. get { return m_Gas2Valve3IsOpen; }
  135. set { SetProperty(ref m_Gas2Valve3IsOpen, value); }
  136. }
  137. public bool Gas3Valve1IsOpen
  138. {
  139. get { return m_Gas3Valve1IsOpen; }
  140. set { SetProperty(ref m_Gas3Valve1IsOpen, value); }
  141. }
  142. public bool Gas3Valve2IsOpen
  143. {
  144. get { return m_Gas3Valve2IsOpen; }
  145. set { SetProperty(ref m_Gas3Valve2IsOpen, value); }
  146. }
  147. public bool Gas3Valve3IsOpen
  148. {
  149. get { return m_Gas3Valve3IsOpen; }
  150. set { SetProperty(ref m_Gas3Valve3IsOpen, value); }
  151. }
  152. public bool Gas4Valve1IsOpen
  153. {
  154. get { return m_Gas4Valve1IsOpen; }
  155. set { SetProperty(ref m_Gas4Valve1IsOpen, value); }
  156. }
  157. public bool Gas4Valve2IsOpen
  158. {
  159. get { return m_Gas4Valve2IsOpen; }
  160. set { SetProperty(ref m_Gas4Valve2IsOpen, value); }
  161. }
  162. public bool Gas4Valve3IsOpen
  163. {
  164. get { return m_Gas4Valve3IsOpen; }
  165. set { SetProperty(ref m_Gas4Valve3IsOpen, value); }
  166. }
  167. public bool Gas5ValveIsOpen
  168. {
  169. get { return m_Gas5ValveIsOpen; }
  170. set { SetProperty(ref m_Gas5ValveIsOpen, value); }
  171. }
  172. public bool Gas6ValveIsOpen
  173. {
  174. get { return m_Gas6ValveIsOpen; }
  175. set { SetProperty(ref m_Gas6ValveIsOpen, value); }
  176. }
  177. public bool Gas7ValveIsOpen
  178. {
  179. get { return m_Gas7ValveIsOpen; }
  180. set { SetProperty(ref m_Gas7ValveIsOpen, value); }
  181. }
  182. public bool Gas8ValveIsOpen
  183. {
  184. get { return m_Gas8ValveIsOpen; }
  185. set { SetProperty(ref m_Gas8ValveIsOpen, value); }
  186. }
  187. public bool PurgeValveIsOpen
  188. {
  189. get { return m_PurgeValveIsOpen; }
  190. set { SetProperty(ref m_PurgeValveIsOpen, value); }
  191. }
  192. public bool SoftPumpValveIsOpen
  193. {
  194. get { return m_SoftPumpValveIsOpen; }
  195. set { SetProperty(ref m_SoftPumpValveIsOpen, value); }
  196. }
  197. public bool FastPumpValveIsOpen
  198. {
  199. get { return m_FastPumpValveIsOpen; }
  200. set { SetProperty(ref m_FastPumpValveIsOpen, value); }
  201. }
  202. #endregion
  203. #region 命令
  204. private DelegateCommand _GasCommand;
  205. public DelegateCommand GasCommand =>
  206. _GasCommand ?? (_GasCommand = new DelegateCommand(OnGasCommand));
  207. private DelegateCommand _RfCommand;
  208. public DelegateCommand RfCommand =>
  209. _RfCommand ?? (_RfCommand = new DelegateCommand(OnRfCommand));
  210. private DelegateCommand _PurgeCommand;
  211. public DelegateCommand PurgeCommand =>
  212. _PurgeCommand ?? (_PurgeCommand = new DelegateCommand(OnPurgeCommand));
  213. private DelegateCommand _VentCommand;
  214. public DelegateCommand VentCommand =>
  215. _VentCommand ?? (_VentCommand = new DelegateCommand(OnVentCommand));
  216. private DelegateCommand _PumpCommand;
  217. public DelegateCommand PumpCommand =>
  218. _PumpCommand ?? (_PumpCommand = new DelegateCommand(OnPumpCommand));
  219. #endregion
  220. #region 构造函数
  221. public OverViewModel()
  222. {
  223. m_Gas1Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas1.GasName");
  224. m_Gas2Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas2.GasName");
  225. m_Gas3Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas3.GasName");
  226. m_Gas4Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas4.GasName");
  227. m_Gas5Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas5.GasName");
  228. m_Gas6Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas6.GasName");
  229. m_Gas7Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas7.GasName");
  230. m_Gas8Name = (string)MECF.Framework.Common.DataCenter.QueryDataClient.Instance.Service.GetConfig("PMA.MfcGas8.GasName");
  231. }
  232. #endregion
  233. #region 命令方法
  234. private void OnGasCommand()
  235. {
  236. closeAllValve();
  237. Task.Run(() =>
  238. {
  239. //System.Threading.Thread.Sleep(100);
  240. VN2Valve1IsOpen = true;
  241. VN2Valve2IsOpen = true;
  242. VN2Valve3IsOpen = true;
  243. GasFinalValveIsOpen = true;
  244. Gas1Valve1IsOpen = true;
  245. Gas1Valve2IsOpen = true;
  246. Gas1Valve3IsOpen = true;
  247. Gas2Valve1IsOpen = true;
  248. Gas2Valve2IsOpen = true;
  249. Gas2Valve3IsOpen = true;
  250. Gas3Valve1IsOpen = true;
  251. Gas3Valve2IsOpen = true;
  252. Gas3Valve3IsOpen = true;
  253. Gas4Valve1IsOpen = true;
  254. Gas4Valve2IsOpen = true;
  255. Gas4Valve3IsOpen = true;
  256. Gas5ValveIsOpen = true;
  257. Gas6ValveIsOpen = true;
  258. Gas7ValveIsOpen = true;
  259. Gas8ValveIsOpen = true;
  260. });
  261. }
  262. private void OnRfCommand()
  263. {
  264. closeAllValve();
  265. }
  266. private void OnPurgeCommand()
  267. {
  268. closeAllValve();
  269. Task.Run(() =>
  270. {
  271. PurgeValveIsOpen = true;
  272. });
  273. }
  274. private void OnVentCommand()
  275. {
  276. closeAllValve();
  277. Task.Run(() =>
  278. {
  279. //System.Threading.Thread.Sleep(100);
  280. VN2Valve2IsOpen = true;
  281. VN2Valve3IsOpen = true;
  282. GasFinalValveIsOpen = true;
  283. });
  284. }
  285. private void OnPumpCommand()
  286. {
  287. FastPumpValveIsOpen = true;
  288. }
  289. #endregion
  290. #region 私有方法
  291. private void closeAllValve()
  292. {
  293. if (VN2Valve1IsOpen == true) VN2Valve1IsOpen = false;
  294. if (VN2Valve2IsOpen == true) VN2Valve2IsOpen = false;
  295. if (VN2Valve3IsOpen == true) VN2Valve3IsOpen = false;
  296. if (GasFinalValveIsOpen == true) GasFinalValveIsOpen = false;
  297. if (Gas1Valve1IsOpen == true) Gas1Valve1IsOpen = false;
  298. if (Gas1Valve2IsOpen == true) Gas1Valve2IsOpen = false;
  299. if (Gas1Valve3IsOpen == true) Gas1Valve3IsOpen = false;
  300. if (Gas2Valve1IsOpen == true) Gas2Valve1IsOpen = false;
  301. if (Gas2Valve2IsOpen == true) Gas2Valve2IsOpen = false;
  302. if (Gas2Valve3IsOpen == true) Gas2Valve3IsOpen = false;
  303. if (Gas3Valve1IsOpen == true) Gas3Valve1IsOpen = false;
  304. if (Gas3Valve2IsOpen == true) Gas3Valve2IsOpen = false;
  305. if (Gas3Valve3IsOpen == true) Gas3Valve3IsOpen = false;
  306. if (Gas4Valve1IsOpen == true) Gas4Valve1IsOpen = false;
  307. if (Gas4Valve2IsOpen == true) Gas4Valve2IsOpen = false;
  308. if (Gas4Valve3IsOpen == true) Gas4Valve3IsOpen = false;
  309. if (Gas5ValveIsOpen == true) Gas5ValveIsOpen = false;
  310. if (Gas6ValveIsOpen == true) Gas6ValveIsOpen = false;
  311. if (Gas7ValveIsOpen == true) Gas7ValveIsOpen = false;
  312. if (Gas8ValveIsOpen == true) Gas8ValveIsOpen = false;
  313. }
  314. #endregion
  315. }
  316. }