public void Handle(StartTransfer c) { var aggregate = new TransferAggregate { AggregateIdentifier = c.AggregateIdentifier }; aggregate.StartTransfer(c.FromAccount, c.ToAccount, c.Amount); Commit(aggregate); }
private void Commit(TransferAggregate aggregate) { var changes = _repository.Save(aggregate); foreach (var change in changes) { _publisher.Publish(change); } }