public EventProcessContext(QueueMessage queueMessage, EventMessage eventMessage, Action<EventStream, EventProcessContext> eventProcessedAction) { QueueMessage = queueMessage; EventMessage = eventMessage; EventProcessedAction = eventProcessedAction; }
private EventMessage ConvertToData(IDictionary<string, string> contextItems, EventStream eventStream) { var data = new EventMessage(); data.CommitId = eventStream.CommitId; data.AggregateRootId = eventStream.AggregateRootId; data.AggregateRootTypeCode = eventStream.AggregateRootTypeCode; data.Timestamp = eventStream.Timestamp; data.Version = eventStream.Version; data.ContextItems = contextItems; foreach (var evnt in eventStream.Events) { var typeCode = _eventTypeCodeProvider.GetTypeCode(evnt.GetType()); var eventData = _binarySerializer.Serialize(evnt); data.Events.Add(new EventEntry(typeCode, eventData)); } return data; }
private EventStream ConvertToEventStream(EventMessage data) { var events = new List<IDomainEvent>(); foreach (var typeData in data.Events) { var eventType = _eventTypeCodeProvider.GetType(typeData.EventTypeCode); var evnt = _binarySerializer.Deserialize(typeData.EventData, eventType) as IDomainEvent; events.Add(evnt); } return new EventStream(data.CommitId, data.AggregateRootId, data.AggregateRootTypeCode, data.Version, data.Timestamp, events); }