public void UpdateAccountBalance(Account account, decimal amount) { if (account == null) { throw new ArgumentNullException(nameof(account)); } repo.SetBalance(account.ID, account.Balance += amount); repo.AddTransaction(account.ID, amount, account.Balance); if (account.Balance < 0) { reportingService.AccountIsOverdrawn(account.ID); } }