public IActionResult Post([FromBody] Transacao transacao)
        {
            Response.Headers.Add("id-request", _idRequest.ToString());
            VariaveisGlobais.Transacao = _idRequest;

            try
            {
                var validarTransacao = _transacaoServico.ValidarTransacao(transacao);

                if (validarTransacao.Any())
                {
                    return(StatusCode(HttpStatusCode.BadRequest.GetHashCode(), validarTransacao));
                }

                var realizarTransacao = _transacaoServico.RealizarTransacao(transacao);

                if (!realizarTransacao)
                {
                    return(StatusCode(HttpStatusCode.InternalServerError.GetHashCode(), "Erro ao realizar a transação"));
                }

                return(StatusCode(HttpStatusCode.OK.GetHashCode()));
            }
            catch (Exception ex)
            {
                return(StatusCode(HttpStatusCode.InternalServerError.GetHashCode(), "Erro interno"));
            }
        }
Example #2
0
        public void Testa_Transacao(string contaOrigem, string contaDestino, int valor)
        {
            var transacao = new Transacao
            {
                ContaOrigem = new ContaCorrente {
                    Id = Guid.NewGuid().ToString(), Numero = contaOrigem
                },
                ContaDestino = new ContaCorrente {
                    Id = Guid.NewGuid().ToString(), Numero = contaDestino
                },
                Valor = valor
            };

            var realizarTransacao = _transacaoServico.RealizarTransacao(transacao);

            Assert.True(realizarTransacao);
        }