Exemple #1
0
        public IEvent DeserializeEvent(Dictionary <string, string> headerData, string eventData)
        {
            var  header = new EventHeader(headerData);
            Type type   = eventTypeResolver.ResolveType(header);

            var result = JsonConvert.DeserializeObject(eventData, type, SerializerSettings) as IEvent;

            result?.Headers.ApplyEventHeader(header);

            return(result);
        }
Exemple #2
0
        public virtual IEvent DeserializeEvent(Dictionary <string, string> headerData, string eventData)
        {
            var  header = new EventHeader(headerData);
            Type type   = eventTypeResolver.ResolveType(header);

            IEvent result = DeserializeEventInternal(eventData, type);

            result?.Headers.ApplyEventHeader(header);

            return(result);
        }
Exemple #3
0
        public object Deserialize(JObject obj, string eventName)
        {
            var eventType = _typeResolver.ResolveType(eventName);
            var reader    = obj.CreateReader();
            var theEvent  = _serializer.Deserialize(reader, eventType);

            return(theEvent);
        }
Exemple #4
0
        public ISourcedEvent Deserialize(StoredEvent <JObject> obj)
        {
            var eventType = _typeResolver.ResolveType(obj.EventName);
            var reader    = obj.Data.CreateReader();
            var theEvent  = (ISourcedEvent)_serializer.Deserialize(reader, eventType);

            theEvent.InitializeFrom(obj);
            return(theEvent);
        }
Exemple #5
0
        /// <summary>
        /// Upgrades an event to the latest version.
        /// </summary>
        /// <remarks>
        /// <para>This checks to see if an <see cref="IEventConverter"/> has been added for <see cref="StoredEvent{T}.EventName"/>.</para>
        /// <para>If there is an event converter for this event then that converter will be used to upgrade the event.</para>
        /// <para>If no converter has been added for this event then the event will be left un-modified.</para>
        /// </remarks>
        /// <param name="theEvent">The event to be upgraded.</param>
        /// <exception cref="ArgumentNullException">If <paramref name="theEvent"/> is <value>null</value>.</exception>
        /// <seealso cref="AddConverter"/>
        public void Upgrade(StoredEvent <JObject> theEvent)
        {
            IEventConverter converter;
            Type            eventType = _typeResolver.ResolveType(theEvent.EventName);

            if (_converters.TryGetValue(eventType, out converter))
            {
                converter.Upgrade(theEvent);
            }
        }
Exemple #6
0
        public ISourcedEvent Deserialize(StoredEvent <JObject> obj)
        {
            var eventType = _typeResolver.ResolveType(obj.EventName);
            var reader    = obj.Data.CreateReader();
            var theEvent  = (ISourcedEvent)_serializer.Deserialize(reader, eventType);

            //json deserialization doesn't seem to restore the EntityId for sourced enetity events
            SetEntityIdIfEntityEvent(obj, theEvent);

            theEvent.InitializeFrom(obj);
            return(theEvent);
        }