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)); }
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); }