protected override bool Execute(CodeActivityContext context) { bool res = false; string Message = CheckStr(AlarmMessage.Get(context), 1024); string ShortMessage = CheckStr(ShortAlarmMessage.Get(context), 128); string Description = CheckStr(AlarmDescription.Get(context), 1024); string UniqueKey = CheckStr(AlarmUniqueKey.Get(context), 1024); try { if (MonitoringChangesAlarm.isChangesAlarm_61968Systems(Slave61968System_ID.Get(context), WorkflowActivity_ID.Get(context), UserID.Get(context), AlarmSeverity.Get(context), UniqueKey)) { res = ARM_Service.ALARM_WriteAlarm_Master61968SlaveSystems(Slave61968System_ID.Get(context), WorkflowActivity_ID.Get(context), UserID.Get(context), AlarmSettingID.Get(context), AlarmSeverity.Get(context), Message, ShortMessage, Description, UniqueKey, AlarmDateTime.Get(context)); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context)) && res); }
protected override bool Execute(CodeActivityContext context) { var res = false; var message = CheckStr(AlarmMessage.Get(context), 1024); var shortMessage = CheckStr(ShortAlarmMessage.Get(context), 128); var description = CheckStr(AlarmDescription.Get(context), 1024); var uniqueKey = CheckStr(AlarmUniqueKey.Get(context), 1024); try { if (MonitoringChangesAlarm.isChangesAlarm_BalanceFreeHierarchy(BalanceFreeHierarchy_UN.Get(context), WorkflowActivity_ID.Get(context), UserID.Get(context), AlarmSeverity.Get(context), uniqueKey)) { res = ARM_Service.ALARM_WriteAlarm_BalanceFreeHierarchy(BalanceFreeHierarchy_UN.Get(context), WorkflowActivity_ID.Get(context), UserID.Get(context), AlarmSettingID.Get(context), AlarmSeverity.Get(context), message, shortMessage, description, uniqueKey, AlarmDateTime.Get(context)); } } catch (Exception ex) { Error.Set(context, ex.Message); if (!HideException.Get(context)) { throw ex; } } return(string.IsNullOrEmpty(Error.Get(context)) && res); }
/// <summary> /// Fires a change of the alarm status. /// </summary> /// <param name="severity">New alarm severity</param> /// <param name="status">New alarm status</param> public void TriggerAlarm(AlarmSeverity severity, AlarmStatus status) { if (CurrentAlarmSeverity != severity) { CurrentAlarmSeverity = severity; AlarmStatus = status; } }
public void Alarm(string message, AlarmSeverity alarmType, UserType user, Exception ex = null) { if (!mEnableLog) { return; } lock (mIncomingMessage) { mIncomingMessage.Enqueue(new AlarmContent(user, alarmType, message)); mWaitingSemaphore.Release(); if (ex != null) { EnqueueExceptionStack(ex); } } }
// Generates an alarm tag name private string GetTagName(DataModels.Alarm item) { string measurementLabel; StringBuilder description = new StringBuilder("AL-"); AlarmSeverity severity = item.Severity.GetEnumValueOrDefault <AlarmSeverity>(AlarmSeverity.None); AlarmOperation operation = item.Operation.GetEnumValueOrDefault <AlarmOperation>(AlarmOperation.Equal); switch (severity) { case AlarmSeverity.None: description.Append("EXEMPT"); break; case AlarmSeverity.Unreasonable: switch (operation) { case AlarmOperation.GreaterThan: case AlarmOperation.GreaterOrEqual: description.Append("HIGH"); break; case AlarmOperation.LessThan: case AlarmOperation.LessOrEqual: description.Append("LOW"); break; default: description.Append(severity.GetDescription()); break; } break; default: description.Append(severity.GetDescription()); break; } description.Append(':'); if (m_measurementLabels.TryGetValue(item.SignalID, out measurementLabel)) { description.Append(measurementLabel); } return(description.ToString()); }
// Get all the highest severity alarms in a list of alarms private IEnumerable <Alarm> GetHighestSeverityAlarms(IEnumerable <Alarm> alarms) { AlarmSeverity highestSeverity = alarms.Max(alarm => alarm.Severity); return(alarms.Where(alarm => alarm.Severity == highestSeverity)); }
public AlarmContent(DateTime timeStamp, UserType user, AlarmSeverity severity, string message) : base(timeStamp, user, message) { mSeverity = severity; mMessageType = MessageType.Alarm; }
public AlarmContent(AlarmSeverity severity, string message) : base(UserType.Operator, message) { mSeverity = severity; mMessageType = MessageType.Alarm; }
public AlarmContent(UserType user, AlarmSeverity severity, string message) : base(user, message) { mSeverity = severity; mMessageType = MessageType.Alarm; }