FIMSSensorViewModel.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 MECF.Framework.Common.DataCenter;
  7. using MECF.Framework.Common.OperationCenter;
  8. using FurnaceUI.Models;
  9. using FurnaceUI.Views.Editors;
  10. using System.Collections.ObjectModel;
  11. using System.Collections.Generic;
  12. using System.Threading.Tasks;
  13. using System.Reflection;
  14. using System;
  15. using Aitex.Core.RT.Log;
  16. using System.Linq;
  17. using System.Windows;
  18. namespace FurnaceUI.Views.Maintenances
  19. {
  20. public class FIMSSensorViewModel : FurnaceUIViewModelBase
  21. {
  22. public bool IsManagerPermission { get => this.Permission == 3; }
  23. public bool IsSystemStaus => (RtStatus != "AutoRunning");
  24. [Subscription("FIMS1.Status")]
  25. public string FIMS1Status { get; set; }
  26. [Subscription("FIMS2.Status")]
  27. public string FIMS2Status { get; set; }
  28. [Subscription("Rt.Status")]
  29. public string RtStatus { get; set; }
  30. [Subscription("FIMS1.IsOnline")]
  31. public bool FIMS1IsOnline { get; set; }
  32. [Subscription("FIMS2.IsOnline")]
  33. public bool FIMS2IsOnline { get; set; }
  34. public bool IsFIMS1OnlineButtonEnable => !FIMS1IsOnline;
  35. public bool IsFIMS2OnlineButtonEnable => !FIMS2IsOnline;
  36. public bool IsFIMS1OfflineButtonEnable => FIMS1IsOnline && RtStatus != "AutoRunning";
  37. public bool IsFIMS2OfflineButtonEnable => FIMS2IsOnline && RtStatus != "AutoRunning";
  38. public FIMSSensorViewModel()
  39. {
  40. }
  41. public void Home(object target)
  42. {
  43. InvokeClient.Instance.Service.DoOperation($"{target}.Home");
  44. }
  45. public void Load(object target)
  46. {
  47. InvokeClient.Instance.Service.DoOperation($"{target}.Load");
  48. }
  49. public void Unload(object target)
  50. {
  51. InvokeClient.Instance.Service.DoOperation($"{target}.Unload");
  52. }
  53. public void SetAlarmReset(object target)
  54. {
  55. InvokeClient.Instance.Service.DoOperation($"{target?.ToString().Split('.').ToList().LastOrDefault()}.Reset");
  56. }
  57. public void SetOnline(object target)
  58. {
  59. InvokeClient.Instance.Service.DoOperation($"{target}.SetOnline");
  60. }
  61. public void SetOffline(object target)
  62. {
  63. InvokeClient.Instance.Service.DoOperation($"{target}.SetOffline");
  64. }
  65. public void ClosedCmd()
  66. {
  67. (GetView() as Window).Close();
  68. }
  69. }
  70. }