internal void Notify_AlarmOrEvent(ModuleState module, AlarmOrEventInfo e) { var ae = new AlarmOrEvent() { ModuleID = module.ID, ModuleName = module.Name, Time = e.Time, IsSystem = false, Severity = e.Severity, Type = e.Type, Message = e.Message, Details = e.Details, AffectedObjects = e.AffectedObjects, Initiator = e.Initiator }; reqHandler.OnAlarmOrEvent(ae); string msg = e.Message; switch (e.Severity) { case Severity.Info: module.logger.Info(msg); break; case Severity.Warning: module.logger.Warn(msg); break; case Severity.Alarm: module.logger.Error(msg); break; } }
internal void Notify_AlarmOrEvent(ModuleState module, AlarmOrEventInfo e) { Origin?initiator = e.Initiator; if (initiator.HasValue) { Origin origin = initiator.Value; string id = origin.ID; if (origin.Type == OriginType.User) { User user = userManagement.Users.FirstOrDefault(u => u.ID == id); if (user != null) { origin.Name = user.Name; } else if (origin.Name == null) { origin.Name = ""; } } else if (origin.Type == OriginType.Module) { var theModule = modules.FirstOrDefault(m => m.ID == id); if (theModule != null) { origin.Name = theModule.Name; } else if (origin.Name == null) { origin.Name = ""; } } initiator = origin; } var ae = new AlarmOrEvent() { ModuleID = module.ID, ModuleName = module.Name, Time = e.Time, IsSystem = false, Severity = e.Severity, ReturnToNormal = e.ReturnToNormal, Type = e.Type, Message = e.Message, Details = e.Details, AffectedObjects = e.AffectedObjects, Initiator = initiator }; reqHandler.OnAlarmOrEvent(ae); bool logInfo = module.UpdateWarningAlarmState(e); string msg = e.Message; switch (e.Severity) { case Severity.Info: if (logInfo) { module.logger.Info(msg); } break; case Severity.Warning: module.logger.Warn(msg); break; case Severity.Alarm: module.logger.Error(msg); break; } }