Example #1
0
 private void NotifyQualityChange(List <ItemState> badItems, List <ItemState> goodItems)
 {
     if (badItems.Count == 1)
     {
         string msg = "Bad quality for reading data item: " + badItems[0].Name;
         var    ev  = AlarmOrEventInfo.Warning("Quality", msg, ObjectRef.Make(moduleID, badItems[0].ID));
         notifier.Notify_AlarmOrEvent(ev);
     }
     else if (badItems.Count > 1)
     {
         string      names = string.Join(", ", badItems.Select(it => it.Name));
         string      msg   = $"Bad quality for reading {badItems.Count} data items: " + names;
         ObjectRef[] objs  = badItems.Select(it => ObjectRef.Make(moduleID, it.ID)).ToArray();
         var         ev    = AlarmOrEventInfo.Warning("Quality", msg, objs);
         notifier.Notify_AlarmOrEvent(ev);
     }
     if (goodItems.Count == 1)
     {
         string msg = "Good quality restored for data item: " + goodItems[0].Name;
         var    ev  = AlarmOrEventInfo.Info("Quality", msg, ObjectRef.Make(moduleID, goodItems[0].ID));
         notifier.Notify_AlarmOrEvent(ev);
     }
     else if (goodItems.Count > 1)
     {
         string      names = string.Join(", ", goodItems.Select(it => it.Name));
         string      msg   = $"Good quality restored for {goodItems.Count} data items: " + names;
         ObjectRef[] objs  = goodItems.Select(it => ObjectRef.Make(moduleID, it.ID)).ToArray();
         var         ev    = AlarmOrEventInfo.Info("Quality", msg, objs);
         notifier.Notify_AlarmOrEvent(ev);
     }
 }
Example #2
0
        private void Do_Notify_AlarmOrEvent(AdapterAlarmOrEvent eventInfo, Adapter adapter)
        {
            var ae = new AlarmOrEventInfo()
            {
                Time            = eventInfo.Time,
                Severity        = eventInfo.Severity,
                Type            = eventInfo.Type,
                Message         = adapter.Name + ": " + eventInfo.Message,
                Details         = eventInfo.Details,
                AffectedObjects = eventInfo.AffectedDataItems.Select(di => ObjectRef.Make(moduleID, di)).ToArray(),
                Initiator       = null
            };

            notifier.Notify_AlarmOrEvent(ae);
        }
Example #3
0
        private void Log_Event(Severity severity, string type, string msg, Origin?initiator = null, string details = "")
        {
            var ae = new AlarmOrEventInfo()
            {
                Time            = Timestamp.Now,
                Severity        = severity,
                Type            = type,
                Message         = msg,
                Details         = details,
                AffectedObjects = new ObjectRef[0],
                Initiator       = initiator
            };

            notifier.Notify_AlarmOrEvent(ae);
        }
Example #4
0
        private void Do_Notify_AlarmOrEvent(AdapterAlarmOrEvent eventInfo, Calculation adapter)
        {
            var ae = new AlarmOrEventInfo()
            {
                Time            = eventInfo.Time,
                Severity        = eventInfo.Severity,
                Type            = eventInfo.Type,
                ReturnToNormal  = eventInfo.ReturnToNormal,
                Message         = adapter.Name + ": " + eventInfo.Message,
                Details         = eventInfo.Details,
                AffectedObjects = eventInfo.AffectedObjects.Select(obj => ObjectRef.Make(moduleID, obj)).ToArray(),
                Initiator       = null
            };

            notifier !.Notify_AlarmOrEvent(ae);
        }
Example #5
0
        private void Log_Event(Severity severity, string type, string msg, Origin?initiator = null, string details = "", ObjectRef[]?affectedObjects = null, bool returnToNormal = false)
        {
            var ae = new AlarmOrEventInfo()
            {
                Time            = Timestamp.Now,
                Severity        = severity,
                Type            = type,
                ReturnToNormal  = returnToNormal,
                Message         = msg,
                Details         = details ?? "",
                AffectedObjects = affectedObjects ?? new ObjectRef[0],
                Initiator       = initiator
            };

            notifier !.Notify_AlarmOrEvent(ae);
        }