Пример #1
0
        public DbEvent(IDomainEvent @event, IEventSerializer eventSerializer, IEventStamping eventStamping)
        {
            if (eventSerializer == null)
            {
                throw new ArgumentNullException(nameof(eventSerializer));
            }
            if (eventStamping == null)
            {
                throw new ArgumentNullException(nameof(eventStamping));
            }

            var eventType = @event.GetType();

            AggregateId = @event.AggregateId;
            Sequence    = @event.Sequence;
            EventName   = eventType.Name;
            TimeStamp   = eventStamping.GetDateTime();
            User        = eventStamping.GetCurrentUser();
            Data        = eventSerializer.Serialize(@event);
        }