AlarmDataViewModel.cs 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using Prism.Events;
  2. using System.Drawing.Printing;
  3. namespace ProximaAnalizer.ViewModels.DBInfoAlarmRegions;
  4. partial class AlarmDataViewModel : ObservableObject
  5. {
  6. public AlarmDataViewModel(IEventAggregator eventAggregator)
  7. {
  8. this._eventAggregator = eventAggregator;
  9. this.DataInit();
  10. eventAggregator.GetEvent<UpdateAlarmData>().Subscribe(UpdateData);
  11. }
  12. private readonly IEventAggregator _eventAggregator;
  13. private void UpdateData()
  14. {
  15. this.DataChanged(_eventAggregator.GetEvent<UpdateAlarmData>().PmData, _eventAggregator.GetEvent<UpdateAlarmData>().SystemData);
  16. }
  17. public void DataInit()
  18. {
  19. this.MFCs.Clear();
  20. this.Heaters.Clear();
  21. this.GaslineHeaters.Clear();
  22. this.FFUs.Clear();
  23. this.Valves.Clear();
  24. this.LeakChecks.Clear();
  25. this.Pressures.Clear();
  26. this.APCs.Clear();
  27. this.APCVATGVs.Clear();
  28. }
  29. private void DataChanged(List<dynamic>? pmData, List<dynamic>? systemData)
  30. {
  31. App.Current.Dispatcher?.Invoke(() =>
  32. {
  33. //Parallel.Invoke(
  34. //() => this.MFCs.UpdateData(pmData),
  35. //() => this.Heaters.UpdateData(systemData),
  36. //() => this.GaslineHeaters.UpdateData(pmData),
  37. //() => this.FFUs.UpdateData(pmData),
  38. //() => this.Valves.UpdateData(pmData),
  39. //() => this.LeakChecks.UpdateData(pmData),
  40. //() => this.Pressures.UpdateData(pmData),
  41. //() => this.APCs.UpdateData(pmData),
  42. //() => this.APCVATGVs.UpdateData(pmData));
  43. this.MFCs.UpdateData(pmData);
  44. this.Heaters.UpdateData(systemData);
  45. this.GaslineHeaters.UpdateData(pmData);
  46. this.FFUs.UpdateData(pmData);
  47. this.Valves.UpdateData(pmData);
  48. this.LeakChecks.UpdateData(pmData);
  49. this.Pressures.UpdateData(pmData);
  50. this.APCs.UpdateData(pmData);
  51. this.APCVATGVs.UpdateData(pmData);
  52. this.Selected ??= this.Heaters.Data.FirstOrDefault();
  53. });
  54. }
  55. [ObservableProperty]
  56. private DisplayHistroyHelper2 _Heaters = new(1, 2, "Heater");
  57. [ObservableProperty]
  58. private DisplayHistroyHelper2 _MFCs = new(1, 2, "MFC");
  59. [ObservableProperty]
  60. private DisplayHistroyHelper2 _Valves = new(2, 3, "IoValve");
  61. [ObservableProperty]
  62. private DisplayHistroyHelper2 _FFUs = new(1, 2, "FFU");
  63. [ObservableProperty]
  64. private DisplayHistroyHelper2 _GaslineHeaters = new(1, 2, "GaslineHeater");
  65. [ObservableProperty]
  66. private DisplayHistroyHelper1 _LeakChecks = new(1, 1, ["LeakCheck"]);
  67. [ObservableProperty]
  68. private DisplayHistroyHelper1 _Pressures = new(1, 1, ["VG", "PS", "PG"]);
  69. [ObservableProperty]
  70. private DisplayHistroyHelper1 _APCs = new(1, 2, ["APC"]);
  71. [ObservableProperty]
  72. private DisplayHistroyHelper1 _APCVATGVs = new(1, 2, ["APCVATGV"]);
  73. [ObservableProperty]
  74. private object? _Selected;
  75. [RelayCommand]
  76. private void SelectData(object? para)
  77. {
  78. _eventAggregator.GetEvent<UpdateSelectData>().Selected = this.Selected;
  79. _eventAggregator.GetEvent<UpdateSelectData>().KeyNames = para;
  80. _eventAggregator.GetEvent<UpdateSelectData>().Publish();
  81. }
  82. }