private static string BuscaFormaPagamento(PagamentoParcial pagamentoParcial) { if (pagamentoParcial.MetodoPagamento.CartaoCredito != null) { return("Cartão de crédito"); } if (pagamentoParcial.MetodoPagamento.DadosBancarios != null) { return("Dados bancários"); } return("fatura de energia"); }
public async Task CadastrarNovoPagamentoParcial(PagamentoParcial pagamentoParcial) { await _pagamentoParcial.InsertOneAsync(pagamentoParcial); }
private static void CalcularValorDaParcela(PagamentoParcial pagamentoParcial) => pagamentoParcial.ValorDaParcela = pagamentoParcial.ValorRestante / pagamentoParcial.QuantidadeParcelas;
private static void CalcularValorRestanteDaFatura(PagamentoParcial pagamentoParcial) => pagamentoParcial.ValorRestante = pagamentoParcial.ValorTotalFatura - pagamentoParcial.ValorPagoParcialmente;
public static async Task <PagamentoParcialResponse> CadastrarNovoPagamentoParcial(IPagamentoParcialRepository pagamentoParcialRepository, IClienteRepository clienteRepository, PagamentoParcial pagamentoParcial) { CalcularValorRestanteDaFatura(pagamentoParcial); CalcularValorDaParcela(pagamentoParcial); await pagamentoParcialRepository.CadastrarNovoPagamentoParcial(pagamentoParcial); return(new PagamentoParcialResponse { ValorRestante = pagamentoParcial.ValorRestante, ValorDaParcela = pagamentoParcial.ValorDaParcela, QuantidadeParcelas = pagamentoParcial.QuantidadeParcelas, Mensagem = $"Pagamento parcial em {pagamentoParcial.QuantidadeParcelas} parcelas no valor de " + string.Format(new CultureInfo("pt-BR"), "{0:C}", pagamentoParcial.ValorDaParcela) + $" para o cliente {(await clienteRepository.Get(pagamentoParcial.ClienteId)).Nome} cadastrado com sucesso," + $" com a forma de pagamento { BuscaFormaPagamento(pagamentoParcial) }" }); }
public async Task <ActionResult <PagamentoParcialResponse> > CadastrarNovoPagamento(PagamentoParcial pagamentoParcial) { return(Ok(await PagamentoParcialService.CadastrarNovoPagamentoParcial( _pagamentoParcialRepository, _clienteRepository, pagamentoParcial))); }