HeaterViewModel.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using Caliburn.Micro;
  2. using Caliburn.Micro.Core;
  3. using Aitex.Core.Common.DeviceData;
  4. using Aitex.Core.UI.ControlDataContext;
  5. using Aitex.Core.Util;
  6. using System.Windows;
  7. using System.Collections.Generic;
  8. using MECF.Framework.Common.DataCenter;
  9. using MECF.Framework.Common.OperationCenter;
  10. using FurnaceUI.Models;
  11. using FurnaceUI.Views.Editors;
  12. namespace FurnaceUI.Views.Maintenances
  13. {
  14. public class HeaterViewModel : FurnaceUIViewModelBase
  15. {
  16. public bool IsPermission { get => this.Permission == 3; }
  17. private bool _ismanagerPermission = false;
  18. public bool IsManagerPermission
  19. {
  20. get => _ismanagerPermission;
  21. set
  22. {
  23. _ismanagerPermission = value;
  24. NotifyOfPropertyChange(nameof(IsManagerPermission));
  25. }
  26. }
  27. [Subscription("PM1.Heater1.DeviceData")]
  28. public AITHeaterData Heater1Data { get; set; }
  29. [Subscription("PM1.Heater2.DeviceData")]
  30. public AITHeaterData Heater2Data { get; set; }
  31. [Subscription("PM1.Heater3.DeviceData")]
  32. public AITHeaterData Heater3Data { get; set; }
  33. [Subscription("PM1.Heater4.DeviceData")]
  34. public AITHeaterData Heater4Data { get; set; }
  35. [Subscription("PM1.Heater5.DeviceData")]
  36. public AITHeaterData Heater5Data { get; set; }
  37. [Subscription("PM1.Heater6.DeviceData")]
  38. public AITHeaterData Heater6Data { get; set; }
  39. [Subscription("PM1.Heater7.DeviceData")]
  40. public AITHeaterData Heater7Data { get; set; }
  41. [Subscription("PM1.Heater8.DeviceData")]
  42. public AITHeaterData Heater8Data { get; set; }
  43. [Subscription("PM1.Heater9.DeviceData")]
  44. public AITHeaterData Heater9Data { get; set; }
  45. [Subscription("PM1.Heater10.DeviceData")]
  46. public AITHeaterData Heater10Data { get; set; }
  47. public bool Heater1IsChecked { get; set; }
  48. public bool Heater2IsChecked { get; set; }
  49. public bool Heater3IsChecked { get; set; }
  50. public bool Heater4IsChecked { get; set; }
  51. public bool Heater5IsChecked { get; set; }
  52. public bool Heater6IsChecked { get; set; }
  53. public bool Heater7IsChecked { get; set; }
  54. public bool Heater8IsChecked { get; set; }
  55. public bool Heater9IsChecked { get; set; }
  56. public bool Heater10IsChecked { get; set; }
  57. private bool _manualCheck;
  58. public bool ManumalCheck
  59. {
  60. get => _manualCheck;
  61. set
  62. {
  63. _manualCheck = value;
  64. NotifyOfPropertyChange(nameof(ManumalCheck));
  65. }
  66. }
  67. private bool _manualCheckHide;
  68. public bool ManumalCheckHide
  69. {
  70. get => _manualCheckHide;
  71. set
  72. {
  73. _manualCheckHide = value;
  74. NotifyOfPropertyChange(nameof(ManumalCheckHide));
  75. }
  76. }
  77. private bool _manualCheckSelect = false;
  78. public HeaterViewModel()
  79. {
  80. }
  81. protected override void OnActivate()
  82. {
  83. base.OnActivate();
  84. Heater1IsChecked = true;
  85. }
  86. public void SetManual()
  87. {
  88. if (!_manualCheckSelect)
  89. {
  90. _manualCheckSelect = !_manualCheckSelect;
  91. IsManagerPermission = true;
  92. }
  93. else
  94. {
  95. IsManagerPermission = false;
  96. ManumalCheck = false;
  97. ManumalCheckHide = true;
  98. _manualCheckSelect = !_manualCheckSelect;
  99. }
  100. }
  101. protected override void OnDeactivate(bool close)
  102. {
  103. base.OnDeactivate(close);
  104. }
  105. public void SetValue(object heater, object para, object value)
  106. {
  107. var windowManager = IoC.Get<IWindowManager>();
  108. switch ((string)para)
  109. {
  110. case "SetOffsetTable":
  111. TempOffsetTableViewModel tempOffsetTableViewModel = new TempOffsetTableViewModel();
  112. if (value != null) tempOffsetTableViewModel.TempOffsetTableSelected = value.ToString();
  113. if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(tempOffsetTableViewModel, null, "Temperature Offset Table Setting"))
  114. {
  115. if (tempOffsetTableViewModel.TempOffsetTableSelected != "None") value = $"Table{tempOffsetTableViewModel.TempOffsetTableSelected}";
  116. else value = tempOffsetTableViewModel.TempOffsetTableSelected;
  117. }
  118. else
  119. {
  120. return;
  121. }
  122. break;
  123. case "SetProfileTable":
  124. TempProfileTableViewModel tempProfileTableViewModel = new TempProfileTableViewModel();
  125. if (value != null) tempProfileTableViewModel.TempProfileTableSelected = value.ToString();
  126. if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(tempProfileTableViewModel, null, "Temperature Profile Table Setting"))
  127. {
  128. if (tempProfileTableViewModel.TempProfileTableSelected != "None") value = $"Table{tempProfileTableViewModel.TempProfileTableSelected}";
  129. else value = tempProfileTableViewModel.TempProfileTableSelected;
  130. }
  131. else
  132. {
  133. return;
  134. }
  135. break;
  136. }
  137. InvokeClient.Instance.Service.DoOperation($"PM1.{heater}.{para}", value.ToString());
  138. }
  139. }
  140. }