public IActionResult MakeBankAccountPayment([FromBody] BankAccountPaymentCommand command)
        {
            var result = _paymentService.MakePayment(command);

            if (result != PaymentResult.Success)
            {
                return(BadRequest(result.GetStringValue()));
            }

            return(Ok(result.GetStringValue()));
        }
        public PaymentResult MakePayment(BankAccountPaymentCommand command)
        {
            EnsureIsValid(command);

            var bankAccount = UnitOfWork.BankAccountRepository.Find(command.BankAccountId);

            if (bankAccount == null)
            {
                return(PaymentResult.BankAccountNotFound);
            }

            if (bankAccount.Money - command.Amount < 0)
            {
                return(PaymentResult.NotEnoughMoney);
            }

            bankAccount.Money -= command.Amount;

            return(PaymentResult.Success);
        }