Пример #1
0
 public virtual RawEvent Serialize(ContextSchemaConfigs configs, UntypedEventEnvelope change)
 {
     return(new RawEvent(
                configs.GetTypeName(change.Body.GetType())
                , change.Id
                , Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(change.Metadata))
                , Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(change.Body))));
 }
Пример #2
0
        public virtual UntypedEventEnvelope Deserialize(ContextSchemaConfigs configs, RawEvent resolvedEvent)
        {
            var jsonMetadata = Encoding.UTF8.GetString(resolvedEvent.Metadata);
            var metadata     = JsonConvert.DeserializeObject <UntypedEventEnvelope.EventMetadata>(jsonMetadata);

            var jsonData = Encoding.UTF8.GetString(resolvedEvent.Body);
            var dataType = configs.GetType(resolvedEvent.EventType);
            var data     = JsonConvert.DeserializeObject(jsonData, dataType);

            return(new UntypedEventEnvelope(resolvedEvent.EventId
                                            , metadata
                                            , (IDomainEvent)data));
        }