public void Handle(MakeDeposit message) { if (message.Amount < 0) { throw new NegativeDepositException(); } Events.Publish(new DepositMade(message.AggregateId, message.Amount)); }
public MakeDepositResponse Post(MakeDeposit request) { if (request.DepositAmount <= 0) { throw new ArgumentException("Deposit amount must be positive", "DepositAmount"); } var account = Repository.Find(request.AccountId); if (account == null) { throw HttpError.NotFound(string.Format("Bank account {0} not found", request.AccountId)); } account.Balance += request.DepositAmount; Repository.Save(); return new MakeDepositResponse { Success = true }.PopulateWith(account); }