예제 #1
0
 public MessageContext(Guid eventId, StreamContext streamContext, IDictionary <string, object> metadata)
 {
     EventId        = eventId;
     StreamContext  = streamContext;
     MetadataLookup = metadata
                      .ToLookup(keyIs => keyIs.Key, valueIs => valueIs.Value);
 }
예제 #2
0
        public static IEnumerable <Envelope <MessageContext, object> > Deserialize(RecordedEvent recordedEvent, ILookup <string, Type> typeLookup, JsonSerializerSettings settings = null)
        {
            var additionalMetadata = EventSerializer.DeserializeMetadata(recordedEvent, settings);
            var message            = EventSerializer.Deserialize(recordedEvent, typeLookup, settings);

            var streamContext  = new StreamContext(recordedEvent.EventNumber, recordedEvent.EventStreamId);
            var messageContext = new MessageContext(recordedEvent.EventId, streamContext, additionalMetadata);

            yield return(Envelope.Create(messageContext, message));
        }