AlarmSettingNewViewModel.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using ivf_tl_Entity.Entity.Alarm;
  3. using ivf_tl_Manage.Converts;
  4. using ivf_tl_Manage.Win;
  5. using ivf_tl_Service.HttpProvider;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace ivf_tl_Manage.ViewModels
  13. {
  14. public partial class AlarmSettingNewViewModel : BaseViewModel
  15. {
  16. private AlarmProvider alarmProvider;
  17. private Dictionary<int, string> TimeDic = new Dictionary<int, string>() { { 5, "5分钟" }, { 10, "10分钟" }, { 20, "20分钟" }, { 30, "30分钟" }, };
  18. private Dictionary<int, string> LevelDic = new Dictionary<int, string>() { { 1, "紧急" }, { 2, "一般" }, { 3, "缓" } };
  19. [ObservableProperty]
  20. private List<AlarmTypeEntity> alarmTypeList = new List<AlarmTypeEntity>();
  21. [ObservableProperty]
  22. private ObservableCollection<AlarmPersonne> alarmPersonneList = new ObservableCollection<AlarmPersonne>();
  23. public AlarmSettingNewViewModel()
  24. {
  25. InitTimeDic();
  26. base.NavName = "AlarmSettingNewViewModel";
  27. if (alarmProvider == null) alarmProvider = AppData.Instance.GetAlarmProvider();
  28. UpdataAlarmPersonne();
  29. UpDataAlarmTypeList();
  30. }
  31. private void InitTimeDic()
  32. {
  33. TimeDic.Clear();
  34. TimeDic.Add(5, $"5{KeyToStringConvert.GetLanguageStringByKey("0272")}");
  35. TimeDic.Add(10, $"10{KeyToStringConvert.GetLanguageStringByKey("0272")}");
  36. TimeDic.Add(20, $"20{KeyToStringConvert.GetLanguageStringByKey("0272")}");
  37. TimeDic.Add(30, $"30{KeyToStringConvert.GetLanguageStringByKey("0272")}");
  38. LevelDic.Clear();
  39. LevelDic.Add(1, $"{KeyToStringConvert.GetLanguageStringByKey("0274")}");
  40. LevelDic.Add(2, $"{KeyToStringConvert.GetLanguageStringByKey("0275")}");
  41. LevelDic.Add(3, $"{KeyToStringConvert.GetLanguageStringByKey("0276")}");
  42. }
  43. private void UpDataAlarmTypeList()
  44. {
  45. try
  46. {
  47. AlarmTypeList.Clear();
  48. int i = 1;
  49. var b = alarmProvider.GetTypeAndTemplateListNewApi();
  50. foreach (var item in b)
  51. {
  52. item.Num = i++;
  53. item.TimeSource = TimeDic;
  54. item.SelectedTime = TimeDic.FirstOrDefault(x => x.Key == item.intervalTime);
  55. item.LevelSource = LevelDic;
  56. item.SelectedLevel = LevelDic.FirstOrDefault(x => x.Key == item.alarmLevel);
  57. //if (string.IsNullOrEmpty(item.SelectedTime.Value))
  58. //{
  59. // item.SelectedTime = new KeyValuePair<int, string>(item.intervalTime, $"{item.intervalTime}分钟");
  60. // TimeDic.Add(item.intervalTime, $"{item.intervalTime}分钟");
  61. //}
  62. AlarmTypeList.Add(item);
  63. }
  64. b.Clear();
  65. }
  66. catch (Exception ex)
  67. {
  68. ExLog(ex, "UpDataNew");
  69. }
  70. }
  71. private void UpdataAlarmPersonne()
  72. {
  73. AlarmPersonneList.Clear();
  74. var a = alarmProvider.GetAlarmPersonnelListNewApi();
  75. int i = 1;
  76. foreach (var item in a)
  77. {
  78. item.Num = i++;
  79. AlarmPersonneList.Add(item);
  80. }
  81. a.Clear();
  82. }
  83. public bool EditAlarmType(AlarmTypeEntity alarmType, int intervalTime, int alarmLevel)
  84. {
  85. if (alarmType == null)
  86. {
  87. MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545"));
  88. return false;
  89. }
  90. if (intervalTime == -1) intervalTime = alarmType.intervalTime;
  91. if (alarmLevel == -1) alarmLevel = alarmType.alarmLevel;
  92. string error = alarmProvider.UpdateAlarmTypeApi(alarmType, intervalTime, alarmLevel);
  93. if (string.IsNullOrEmpty(error)) return true;
  94. MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error);
  95. return false;
  96. }
  97. public void AddAlarmPersonne()
  98. {
  99. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  100. if (new AlarmPersonneWindow().ShowDialog() == true)
  101. {
  102. UpdataAlarmPersonne();
  103. }
  104. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  105. }
  106. public void EditAlarmPersonne(AlarmPersonne alarmPersonne)
  107. {
  108. if (alarmPersonne == null)
  109. {
  110. MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545"));
  111. return;
  112. }
  113. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  114. new AlarmPersonneWindow(alarmPersonne).ShowDialog();
  115. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  116. }
  117. public void DelAlarmPersonne(AlarmPersonne alarmPersonne)
  118. {
  119. if (alarmPersonne == null)
  120. {
  121. MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), KeyToStringConvert.GetLanguageStringByKey("0545"));
  122. return;
  123. }
  124. //MessageBoxShow("提示", $"确认删除报警人员{alarmPersonne.name}吗?")
  125. if (MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0304"), KeyToStringConvert.GetLanguageStringByKey("0537")) != true) return;
  126. string error = alarmProvider.DeleteAlarmPersonneApi(alarmPersonne.id);
  127. if (!string.IsNullOrEmpty(error))
  128. {
  129. MessageBoxShow(KeyToStringConvert.GetLanguageStringByKey("0286"), error);
  130. return;
  131. }
  132. UpdataAlarmPersonne();
  133. }
  134. public void SetAlarmSetting()
  135. {
  136. AppData.Instance.MainWindowViewModel.MaskVisibility = true;
  137. new AlarmPersonneSettingWindow(AlarmPersonneList).ShowDialog();
  138. AppData.Instance.MainWindowViewModel.MaskVisibility = false;
  139. }
  140. }
  141. }