public void Handle(UpdateTransfer c) { var aggregate = _repository.Get <TransferAggregate>(c.AggregateIdentifier); aggregate.UpdateTransfer(c.Activity); Commit(aggregate); }
public void Handle(MoneyWithdrawn e) { if (e.Transaction == Guid.Empty) { return; } var status = new UpdateTransfer(e.Transaction, "Debit Succeeded"); _commander.Send(status); var transfer = (Transfer)_repository.Get <TransferAggregate>(e.Transaction).State; var deposit = new DepositMoney(transfer.ToAccount, e.Amount, e.Transaction); _commander.Send(deposit); }