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