Ejemplo n.º 1
0
        object DeserializeDomainEvent(IPersistedRawEvent rawEvent, IReadOnlyDictionary <string, object> metadata)
        {
            // try loading the type from the registry
            var clrType = _registry.GetClrType(rawEvent.EventType);

            // if it fails, try loading the metadata
            if (clrType == null && metadata != null)
            {
                object clrTypeName;

                if (metadata.TryGetValue(Constants.ClrTypeMetadataKey, out clrTypeName))
                {
                    var s = clrTypeName as string;

                    if (s != null)
                    {
                        clrType = Type.GetType(s, false, true);
                    }
                }
            }

            // if no type was found, the serializer should use its default type
            var domainEvent = _serializer.DeserializeEvent(rawEvent.Payload, rawEvent.PayloadFormat, clrType);

            return(domainEvent);
        }
Ejemplo n.º 2
0
        public IPersistedEvent CreateEvent(IPersistedRawEvent rawEvent)
        {
            var e = Substitute.For <IPersistedEvent>();

            e.GlobalSequence.Returns(rawEvent.GlobalSequence);

            return(e);
        }
Ejemplo n.º 3
0
        public IPersistedEvent CreateEvent(IPersistedRawEvent rawEvent)
        {
            var e = Substitute.For<IPersistedEvent>();

            e.GlobalSequence.Returns(rawEvent.GlobalSequence);

            return e;
        }
Ejemplo n.º 4
0
        public IPersistedStreamEvent CreateStreamEvent(IPersistedRawEvent rawEvent, int streamSequence)
        {
            var metadata    = _serializer.DeserializeMetadata(rawEvent.Metadata);
            var domainEvent = DeserializeDomainEvent(rawEvent, metadata);

            var t = typeof(ReadStreamEvent <>).MakeGenericType(domainEvent.GetType());

            return((IPersistedStreamEvent)Activator.CreateInstance(t, rawEvent, metadata, domainEvent, streamSequence));
        }
Ejemplo n.º 5
0
 public ReadEvent(IPersistedRawEvent rawEvent, IReadOnlyDictionary <string, object> metadata, T domainEvent)
 {
     this.GlobalSequence = rawEvent.GlobalSequence;
     this.EventID        = rawEvent.EventID;
     this.Stream         = rawEvent.Stream;
     this.EventType      = rawEvent.EventType;
     this.UtcTimestamp   = rawEvent.UtcTimestamp;
     this.Metadata       = metadata;
     this.DomainEvent    = domainEvent;
 }
Ejemplo n.º 6
0
        public IPersistedStreamEvent CreateStreamEvent(IPersistedRawEvent rawEvent, int streamSequence)
        {
            var e = Substitute.For <IPersistedStreamEvent>();

            e.GlobalSequence.Returns(rawEvent.GlobalSequence);
            e.Stream.Returns(rawEvent.Stream);
            e.StreamSequence.Returns(streamSequence);

            return(e);
        }
Ejemplo n.º 7
0
        public IPersistedStreamEvent CreateStreamEvent(IPersistedRawEvent rawEvent, int streamSequence)
        {
            var e = Substitute.For<IPersistedStreamEvent>();

            e.GlobalSequence.Returns(rawEvent.GlobalSequence);
            e.Stream.Returns(rawEvent.Stream);
            e.StreamSequence.Returns(streamSequence);

            return e;
        }
Ejemplo n.º 8
0
 public ReadStreamEvent(IPersistedRawEvent rawEvent, IReadOnlyDictionary <string, object> metadata, T domainEvent, int streamSequence)
     : base(rawEvent, metadata, domainEvent)
 {
     this.StreamSequence = streamSequence;
 }