public static DeviceMessage DeserializeEvents(string deviceId, JArray events, ServiceContext serviceContext, IServiceEventSource serviceEventSource) { DeviceMessage messageRet = null; bool firstEvent = true; foreach (JObject evt in events) { String eventType = GetEventTypeFromEvent(evt); if (eventType.Equals(Names.EVENT_TYPE_DEFAULT)) { serviceEventSource.ServiceMessage(serviceContext, $"Event Registry - Could not find event configuration for event type [{eventType}] - Will parse the event as Default Type"); } EventConfiguration eventConfiguration = EventRegistry.GetEventConfiguration(eventType); DeviceEvent deviceEvent = DeserializeEvent(eventConfiguration, evt); if (firstEvent) { messageRet = new DeviceMessage(eventConfiguration.MessageType, deviceId, deviceEvent); firstEvent = false; } else { messageRet.AddEvent(deviceEvent); } } return(messageRet); }
public EventConfiguration(string eventType, string messageType, Type eventObjectType) { this.EventType = eventType; this.EventObectType = eventObjectType; this.MessageType = messageType; EventRegistry.RegisterEventType(this.EventType, this); RegisterAllEventTypes(eventType); }
public EventConfiguration(string eventType, Type eventObjectType) { // this is for the case where the message has a single eventType (in this case message and event has the same type this.EventType = eventType; this.EventObectType = eventObjectType; this.MessageType = eventType; EventRegistry.RegisterEventType(this.EventType, this); RegisterAllEventTypes(eventType); }
public MessageConfiguration(string messageType) { this.MessageType = messageType; if (EventRegistry.IsMessageTypeAlreadyRegistered(this.MessageType)) { EventRegistry.UnRegisterMessageType(this.MessageType); } EventRegistry.RegisterMessageType(this.MessageType, this); }
public DeviceMessage(string messageType, string deviceId, IEnumerable <DeviceEvent> events) { this.MessageType = messageType; this.DeviceId = deviceId; this.Events = EventRegistry.DeepCopyEvents(events); DeviceEvent firstEvent = events.FirstOrDefault(); this.Timestamp = (DateTimeOffset)firstEvent.Timestamp; }
public EventConfiguration(string eventType, string messageType, Type eventObjectType) { this.EventType = eventType; this.EventObectType = eventObjectType; this.MessageType = messageType; if (EventRegistry.IsEventTypeAlreadyRegistered(this.EventType)) { EventRegistry.UnRegisterEventType(this.EventType); } EventRegistry.RegisterEventType(this.EventType, this); }
public EventConfiguration(string eventType, Type eventObjectType) { // this is for the case where the message has a single eventType (in this case message and event has the same type this.EventType = eventType; this.EventObectType = eventObjectType; this.MessageType = eventType; if (EventRegistry.IsEventTypeAlreadyRegistered(this.EventType)) { EventRegistry.UnRegisterEventType(this.EventType); } EventRegistry.RegisterEventType(this.EventType, this); }
public MessageConfiguration(string messageType) { this.MessageType = messageType; EventRegistry.RegisterMessageType(this.MessageType, this); }
public DeviceEventDefault(string eventType, JObject fields) : base() { this.Timestamp = EventRegistry.GetEventTimestampFromEvent(fields); this.EventType = eventType; this.Fields = fields; }
public DeviceEventDefault(JObject fields) : base() { this.Timestamp = EventRegistry.GetEventTimestampFromEvent(fields); this.EventType = Names.EVENT_TYPE_DEFAULT; this.Fields = fields; }
// PRiVATE METHODS private static Type[] GetKnownTypes() { return(EventRegistry.GetEventTypeReferencesFromAllAssemblies()); }