public async Task TestaATransferenciaEmUmaConta()
        {
            //Arrange
            var documentoRt   = "12345678914563";
            var clienteRtMock = new Cliente()
            {
                Nome = "Antonio Almeida", Documento = documentoRt, Conta = new Conta()
                {
                    Saldo = 2500
                }
            };

            var documentoDt   = "1234567891789";
            var clienteDtMock = new Cliente()
            {
                Nome = "Antonio L Almeida", Documento = documentoDt, Conta = new Conta()
                {
                    Saldo = 1500
                }
            };

            var transferencia = 1500;


            await _context.Clientes.AddAsync(clienteRtMock);

            await _context.Clientes.AddAsync(clienteDtMock);

            await _context.SaveChangesAsync();

            //Act
            var clienteRt = await _repositorioCliente.GetClienteByDocumentoAsync(documentoRt);

            var clienteDt = await _repositorioCliente.GetClienteByDocumentoAsync(documentoDt);

            var operacao = await _repository.TransferirAsync(clienteRt.Id, clienteDt.Id, transferencia);

            //Assert
            Assert.NotNull(clienteRt);
            Assert.NotNull(clienteDt);

            Assert.True(operacao);
        }
        public async Task <IActionResult> TransferenciaContaAsync([FromBody] TransactionRequest transacao)
        {
            var clienteRt = await GetClienteDbAsync(transacao.Remetente);

            var clienteDt = await GetClienteDbAsync(transacao.Destinatario);

            if (clienteRt != null && clienteDt != null)
            {
                var operacao = _contaRepositorio.TransferirAsync(clienteRt.Id, clienteDt.Id, transacao.Valor);
                return(Ok(new { Operacao = "Transferencia", Result = operacao }));
            }

            return(BadRequest(new { result = "Não foi Possível realizar a operação." }));
        }