Пример #1
0
        private bool ThrowOnConflict(IEventStream stream, int skip)
        {
            var committed   = stream.CommittedEvents.Skip(skip).Select(x => x.Body);
            var uncommitted = stream.UncommittedEvents.Select(x => x.Body);

            return(_conflictDetector.HasConflicts(uncommitted, committed));
        }
Пример #2
0
        private TAggregate BuildAggregate <TAggregate>(IEventStream eventStream) where TAggregate : IAggregate
        {
            var aggregate = _instantiateAggregate.Instantiate <TAggregate>(eventStream.StreamId);

            aggregate.BuildFromHistory(new EventStream(eventStream.CommittedEvents.Select(x => x.Body), eventStream.StreamRevision));

            return(aggregate);
        }