SystemAlarm.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. AlarmType = "SystemException",
  20. AlarmMess = "系统异常",
  21. IsAlarm =false
  22. },
  23. };
  24. /// <summary>
  25. /// 开启指定警告
  26. /// </summary>
  27. /// <param name="ID"></param>
  28. public static void AlarmAlert(AlarmMessageList ID,string AlarmPath)
  29. {
  30. var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
  31. if (alarm.IsAlarm)
  32. {
  33. return;
  34. }
  35. else
  36. {
  37. errorMessageRecord.InsertErrorMessageRecord(new Model.StorageModel.AuditTrail.ErrorMessageRecordModel()
  38. {
  39. Category = "SystemAlarm",
  40. Message = alarm.AlarmMess,
  41. MessageType = alarm.AlarmType,
  42. MessagePath = AlarmPath,
  43. userID = 0,
  44. LogLevel = 0,
  45. DateTime = DateTime.Now,
  46. });
  47. var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
  48. ChanegAlarm.IsAlarm = true;
  49. ChanegAlarm.AlarmDateTime = DateTime.Now;
  50. ChanegAlarm.AlarmPath = AlarmPath;
  51. }
  52. }
  53. /// <summary>
  54. /// 关闭指定警告
  55. /// </summary>
  56. public static void AlarmCancel(AlarmMessageList ID)
  57. {
  58. AlarmMessList.Find(x => x.ID == (int)ID).IsAlarm = false;
  59. }
  60. /// <summary>
  61. /// 获取所有警告
  62. /// </summary>
  63. public static List<AlarmMessModel> GetAllAlarm()
  64. {
  65. return AlarmMessList;
  66. }
  67. /// <summary>
  68. /// 获取所有已触发警告
  69. /// </summary>
  70. public static List<AlarmMessModel> GetAlarm()
  71. {
  72. return AlarmMessList.Where(x => x.IsAlarm == true).ToList();
  73. }
  74. }
  75. }