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));
        }