using System; using System.ComponentModel; namespace StandardScene.Charge { /// /// 报警配置数据模型 /// public class AlarmConfig { /// /// 报警编号(自动生成) /// [DisplayName("编号")] public string AlarmId { get; set; } /// /// 报警编码值 /// [DisplayName("报警编码")] public int AlarmCode { get; set; } /// /// 报警内容描述 /// [DisplayName("报警内容")] public string AlarmContent { get; set; } /// /// 报警级别 /// [DisplayName("报警级别")] public AlarmLevel Level { get; set; } /// /// 是否启用 /// [DisplayName("启用")] public bool Enabled { get; set; } /// /// 备注 /// [DisplayName("备注")] public string Remarks { get; set; } /// /// 创建时间 /// [DisplayName("创建时间")] public DateTime CreatedTime { get; set; } /// /// 最后修改时间 /// [DisplayName("修改时间")] public DateTime ModifiedTime { get; set; } public AlarmConfig() { AlarmId = GenerateAlarmId(); Level = AlarmLevel.Medium; Enabled = true; CreatedTime = DateTime.Now; ModifiedTime = DateTime.Now; } /// /// 生成报警编号 /// private static string GenerateAlarmId() { return $"ALM{DateTime.Now:yyyyMMddHHmmss}{new Random().Next(100, 999)}"; } /// /// 验证数据有效性 /// public bool IsValid(out string errorMessage) { if (string.IsNullOrWhiteSpace(AlarmId)) { errorMessage = "报警编号不能为空"; return false; } if (AlarmCode < 0) { errorMessage = "报警编码不能为负数"; return false; } if (string.IsNullOrWhiteSpace(AlarmContent)) { errorMessage = "报警内容不能为空"; return false; } errorMessage = string.Empty; return true; } public override string ToString() { return $"[{AlarmCode}] {AlarmContent}"; } } }