コード例 #1
0
        public IActionResult RegistrarPagamento([FromBody] PagamentoInput input)
        {
            try
            {
                if (input.EhValido())
                {
                    string response = _pagamentoService.ExibirInfoTroco(input.ValorVenda, input.ValorPago);

                    PagamentoOutput output = new PagamentoOutput {
                        InfoTroco = response
                    };

                    return(ResponseSuccess(output, _pagamentoService));
                }
                return(BadRequest("Dados de entrada inválidos"));
            }
            catch (Exception ex)
            {
                return(ResponseException(ex));
            }
        }
コード例 #2
0
        public PagamentoOutput EfetuarPagamento(PagamentoInput dadosPagamento)
        {
            //Realiza o pagamento junto à operadora de cartão
            var status = EnviarPagamentoOperadoraCartao(dadosPagamento);

            var mensagem = string.Empty;

            switch (status)
            {
            case StatusPagamento.Autorizado:
                mensagem = "Pagamento autorizado";
                break;

            case StatusPagamento.Reprovado:
                mensagem = "Pagamento não autorizado";
                break;

            case StatusPagamento.Erro:
                mensagem = "Erro ao efetuar o pagamento";
                break;

            default:
                break;
            }

            var idPagamento = PagamentosMock.Pagamentos.Any() ? PagamentosMock.Pagamentos.Max(p => p.Id) + 1 : 1;

            var pagamento = new PagamentoOutput
            {
                Id       = idPagamento,
                Mensagem = mensagem,
                Status   = status,
            };

            PagamentosMock.Pagamentos.Add(pagamento);

            return(pagamento);
        }