protected virtual void OnIncomingNewEvent(SubscribedEvent subscribedEvent)
        {
            var handler = IncomingNewEvent;

            if (handler != null)
            {
                var newMessageEventArgs = new SubscribedEventArgs(subscribedEvent);
                handler(this, newMessageEventArgs);
            }
        }
Beispiel #2
0
        public static SubscribedEvent ParseEventFromJsonPaylaod(IList <string> payload)
        {
            //Example Event
            //{
            //    "EventId" : "00000000-0000-0000-0000-000000000033",
            //    "Timestamp" : "19.06.2015 3:28:44",
            //    "EventDescription" : "Detected Motion",
            //    "IsAlarmEvent" : "True",
            //    "ChannelId" : "b7685f31-adca-4cea-b744-12056c6f9a80",
            //    "ChannelName" : "Channel 1",
            //    "Zoneid" : "748a50ef-d196-40c3-a430-e2d40c8ec6e4"
            //}
            var  eventIdPayload = SeparateJsonLine(payload[1]);
            Guid eventlId;

            if (!Guid.TryParse(eventIdPayload, out eventlId))
            {
                return(null);
            }

            var           data              = SeparateTimeJsonLine(payload[2]);
            var           eventName         = SeparateJsonLine(payload[3]);
            List <string> eventDescriptions = new List <string>();

            for (int i = 7; i < payload.Count; i++)
            {
                var payloadString = SeparateJsonLine(payload[i]);
                if (!String.IsNullOrEmpty(payloadString))
                {
                    eventDescriptions.Add(payloadString);
                }
            }

            var subscribedEvent = new SubscribedEvent
            {
                Id          = eventlId,
                Name        = eventName,
                Description = eventDescriptions,
                Data        = data
            };

            return(subscribedEvent);
        }
 public SubscribedEventArgs(SubscribedEvent subscribedEvent)
 {
     SubscribedEvent = subscribedEvent;
 }