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.系统异常,
AlarmType = "SystemException",
AlarmMess = "系统异常",
IsAlarm =false
},
};
///
/// 开启指定警告
///
///
public static void AlarmAlert(AlarmMessageList ID,string AlarmPath)
{
var alarm = AlarmMessList.Find(x => x.ID == (int)ID);
if (alarm.IsAlarm)
{
return;
}
else
{
errorMessageRecord.InsertErrorMessageRecord(new Model.StorageModel.AuditTrail.ErrorMessageRecordModel()
{
Category = "SystemAlarm",
Message = alarm.AlarmMess,
MessageType = alarm.AlarmType,
MessagePath = AlarmPath,
userID = 0,
LogLevel = 0,
DateTime = DateTime.Now,
});
var ChanegAlarm = AlarmMessList.Find(x => x.ID == (int)ID);
ChanegAlarm.IsAlarm = true;
ChanegAlarm.AlarmDateTime = DateTime.Now;
ChanegAlarm.AlarmPath = AlarmPath;
}
}
///
/// 关闭指定警告
///
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();
}
}
}