コード例 #1
0
 /// <summary>
 /// Creates a domain event from an <see cref="InMemoryStoredEvent" />.
 /// </summary>
 /// <param name="storedEvent">The storable event.</param>
 /// <returns>
 /// A deserialized domain event.
 /// </returns>
 public static IEvent ToDomainEvent(this InMemoryStoredEvent storedEvent) =>
 Serializer.DeserializeEvent(
     aggregateName: storedEvent.StreamName,
     eventName: storedEvent.Type,
     aggregateId: Guid.Parse(storedEvent.AggregateId),
     sequenceNumber: storedEvent.SequenceNumber,
     etag: storedEvent.ETag,
     timestamp: storedEvent.Timestamp,
     body: storedEvent.Body,
     uniqueEventId: (long)storedEvent.Metadata.AbsoluteSequenceNumber,
     serializerSettings: serializerSettings.Value);
コード例 #2
0
        /// <summary>
        /// Creates an in-memory stored event from the specified <see cref="StorableEvent" />.
        /// </summary>
        /// <param name="e">The event from which to create an in-memory stored event.</param>
        public static InMemoryStoredEvent ToInMemoryStoredEvent(this StorableEvent e)
        {
            var @event = new InMemoryStoredEvent
            {
                SequenceNumber = e.SequenceNumber,
                AggregateId    = e.AggregateId.ToString(),
                Timestamp      = e.Timestamp,
                Type           = e.Type,
                Body           = e.Body,
                ETag           = e.ETag,
                StreamName     = e.StreamName
            };

            @event.Metadata.AbsoluteSequenceNumber = e.Id;
            return(@event);
        }
コード例 #3
0
 protected bool Equals(InMemoryStoredEvent other) =>
     string.Equals(AggregateId, other.AggregateId, StringComparison.OrdinalIgnoreCase) && SequenceNumber == other.SequenceNumber;
コード例 #4
0
 /// <summary>
 /// Creates a storable event.
 /// </summary>
 public static StorableEvent ToStorableEvent(this InMemoryStoredEvent storedEvent) =>
 storedEvent.ToDomainEvent().ToStorableEvent();
コード例 #5
0
 protected bool Equals(InMemoryStoredEvent other) =>
 string.Equals(AggregateId, other.AggregateId, StringComparison.OrdinalIgnoreCase) && SequenceNumber == other.SequenceNumber;