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);
        }
Ejemplo n.º 2
0
 public AuctionAggregate(AuctionState aggregateState)
 {
     _aggregateState = aggregateState;
 }