public async Task <IActionResult> AddDepositAsync(string bankAccountNumber, decimal amount) { var bankAccount = await _bankAccountService.GetByIdAsync(bankAccountNumber); if (bankAccount == null) { ModelState.AddModelError(nameof(bankAccountNumber), "Bank account not found"); } if (amount <= 0) { ModelState.AddModelError(nameof(amount), "Amount must be greater than zero"); } if (!ModelState.IsValid) { return(ModelStateValidationBadRequest()); } var result = await _bankAccountService.CreateTransactionAsync(bankAccountNumber, TransactionType.Deposit, amount); if (result.Errors.Any()) { result.Errors.ForEach(e => ModelState.AddModelError("", e)); return(BadRequest(ModelState)); } return(Ok(result)); }