SystemAlarm.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. public static class SystemAlarm
  9. {
  10. private static ErrorMessageRecordManagement errorMessageRecord = new ErrorMessageRecordManagement();
  11. private static List<AlarmMessModel> AlarmMessList = new List<AlarmMessModel>()
  12. {
  13. new AlarmMessModel()
  14. {
  15. ID = (int)AlarmMessageList.系统异常,
  16. AlarmType = "SystemException",
  17. AlarmMess = "系统异常",
  18. IsAlarm =false
  19. },
  20. };
  21. /// <summary>
  22. /// 开启指定警告
  23. /// </summary>
  24. /// <param name="ID"></param>
  25. public static void AlarmAlert(AlarmMessageList ID,string AlarmPath)
  26. {
  27. var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
  28. if (alarm.IsAlarm)
  29. {
  30. return;
  31. }
  32. else
  33. {
  34. errorMessageRecord.InsertErrorMessageRecord(new Model.StorageModel.AuditTrail.ErrorMessageRecordModel()
  35. {
  36. Category = "SystemAlarm",
  37. Message = alarm.AlarmMess,
  38. MessageType = alarm.AlarmType,
  39. MessagePath = AlarmPath,
  40. userID = 0,
  41. LogLevel = 0,
  42. DateTime = DateTime.Now,
  43. });
  44. var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
  45. ChanegAlarm.IsAlarm = true;
  46. ChanegAlarm.AlarmDateTime = DateTime.Now;
  47. ChanegAlarm.AlarmPath = AlarmPath;
  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. }