using MvvmScaffoldFrame48.DLL.AuditTrail; using MvvmScaffoldFrame48.Model.StorageModel.SystemAlarm; using System; using System.Collections.Generic; using System.Linq; namespace MvvmScaffoldFrame48.DLL.AlarmTools { /// /// 系统报警管理类 /// public static class SystemAlarm { private static ErrorMessageRecordManagement errorMessageRecord = new ErrorMessageRecordManagement(); private static List AlarmMessList = new List() { new AlarmMessModel() { ID = (int)AlarmMessageList.系统异常, AlarmName = "系统异常", AlarmEnType = "SystemException", AlarmChType = "系统", IsAlarm =false }, new AlarmMessModel() { ID = (int)AlarmMessageList.PLC通讯连接失败, AlarmName = "PLC通讯连接失败", AlarmEnType = "SystemException", AlarmChType = "系统", IsAlarm =false }, }; public static void AlarmAlert(AlarmMessageList ID, string EnMessage, string ChMessage, string AlarmPath) { var alarm = AlarmMessList.Find(x => x.ID == (int)ID); if (alarm == null || alarm.IsAlarm) { return; } else { var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID); ChanegAlarm.IsAlarm = true; ChanegAlarm.AlarmDateTime = DateTime.Now; ChanegAlarm.AlarmPath = AlarmPath; ChanegAlarm.AlarmEnMess = EnMessage; ChanegAlarm.AlarmChMess = ChMessage; } } /// /// 关闭指定警告 /// public static void AlarmCancel(AlarmMessageList ID) { AlarmMessList.Find(x => x.ID == (int)ID).IsAlarm = false; } /// /// 获取所有警告 /// public static List GetAllAlarm() { return AlarmMessList; } /// /// 获取所有已触发警告 /// public static List GetAlarm() { return AlarmMessList.Where(x => x.IsAlarm == true).ToList(); } } }