SystemAlarm.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using MvvmScaffoldFrame48.DLL.AuditTrail;
  2. using MvvmScaffoldFrame48.Model.StorageModel.SystemAlarm;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. namespace MvvmScaffoldFrame48.DLL.AlarmTools
  7. {
  8. /// <summary>
  9. /// 系统报警管理类
  10. /// </summary>
  11. public static class SystemAlarm
  12. {
  13. private static ErrorMessageRecordManagement errorMessageRecord = new ErrorMessageRecordManagement();
  14. private static List<AlarmMessModel> AlarmMessList = new List<AlarmMessModel>()
  15. {
  16. new AlarmMessModel()
  17. {
  18. ID = (int)AlarmMessageList.系统异常,
  19. AlarmName = "系统异常",
  20. AlarmEnType = "SystemException",
  21. AlarmChType = "系统",
  22. IsAlarm =false
  23. },
  24. new AlarmMessModel()
  25. {
  26. ID = (int)AlarmMessageList.PLC通讯连接失败,
  27. AlarmName = "PLC通讯连接失败",
  28. AlarmEnType = "SystemException",
  29. AlarmChType = "系统",
  30. IsAlarm =false
  31. },
  32. };
  33. public static void AlarmAlert(AlarmMessageList ID, string EnMessage, string ChMessage, string AlarmPath)
  34. {
  35. var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
  36. if (alarm == null || alarm.IsAlarm)
  37. {
  38. return;
  39. }
  40. else
  41. {
  42. var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
  43. ChanegAlarm.IsAlarm = true;
  44. ChanegAlarm.AlarmDateTime = DateTime.Now;
  45. ChanegAlarm.AlarmPath = AlarmPath;
  46. ChanegAlarm.AlarmEnMess = EnMessage;
  47. ChanegAlarm.AlarmChMess = ChMessage;
  48. }
  49. }
  50. /// <summary>
  51. /// 关闭指定警告
  52. /// </summary>
  53. public static void AlarmCancel(AlarmMessageList ID)
  54. {
  55. AlarmMessList.Find(x => x.ID == (int)ID).IsAlarm = false;
  56. }
  57. /// <summary>
  58. /// 获取所有警告
  59. /// </summary>
  60. public static List<AlarmMessModel> GetAllAlarm()
  61. {
  62. return AlarmMessList;
  63. }
  64. /// <summary>
  65. /// 获取所有已触发警告
  66. /// </summary>
  67. public static List<AlarmMessModel> GetAlarm()
  68. {
  69. return AlarmMessList.Where(x => x.IsAlarm == true).ToList();
  70. }
  71. }
  72. }