private void Update(IAuctionCommand forAggregateIdentifiedBy, Action<AuctionAggregate> executeCommandUsingThis) { var key = forAggregateIdentifiedBy.Id.ToString(); var eventStream = _eventStore.LoadEventStream(key); var aggregateState = new AuctionState(eventStream.Events); var aggregate = new AuctionAggregate(aggregateState); executeCommandUsingThis(aggregate); _eventStore.AppendEventsToStream(key, eventStream.StreamVersion, aggregate.EventsThatHappened); }
public AuctionAggregate(AuctionState aggregateState) { _aggregateState = aggregateState; }