public List <CondicaoPagamentoParcela> GetParcelasByID(int?idCondicaoPagamento) { try { AbrirConexao(); var _where = string.Empty; _where = " WHERE idcondicaopagamento = " + idCondicaoPagamento; SqlQuery = new SqlCommand("SELECT * FROM tbCondicaoPagamentoParcelas INNER JOIN tbFormaPagamentos on tbCondicaoPagamentoParcelas.idformapagamento = tbFormaPagamentos.idformapagamento" + _where, con); reader = SqlQuery.ExecuteReader(); List <CondicaoPagamentoParcela> parcelas = new List <CondicaoPagamentoParcela>(); while (reader.Read()) { var obj = new CondicaoPagamentoParcela() { idParcela = Convert.ToInt32(reader["idparcela"]), idFormaPagamento = Convert.ToInt32(reader["idformapagamento"]), nmFormaPagamento = Convert.ToString(reader["nmformapagamento"]), idCondicaoPagamento = Convert.ToInt32(reader["idcondicaopagamento"]), nrParcela = Convert.ToInt32(reader["nrparcela"]), nrPrazo = Convert.ToInt32(reader["nrprazo"]), nrPorcentagem = Convert.ToDecimal(reader["nrporcentagem"]), }; parcelas.Add(obj); } return(parcelas); } catch (Exception error) { throw new Exception(error.Message); } }
private ParcelaPagamento CalculaParcela(CondicaoPagamento condicaoPagamento, CondicaoPagamentoParcela condicaoPagamentoParcela, DateTime dataBase, decimal valorTotal, int numero) { var valorParcela = Decimal.Round(valorTotal * (condicaoPagamentoParcela.Percentual / 100), 2); var descontoParcela = Decimal.Round(valorParcela * (condicaoPagamento.Desconto / 100), 2); var parcela = new ParcelaPagamento() { Valor = valorParcela, Desconto = descontoParcela, ValorTotal = valorParcela - descontoParcela, DataVencimento = dataBase.AddDays(condicaoPagamentoParcela.NumeroDias), FormaPagamento = condicaoPagamentoParcela.FormaPagamento, FormaPagamentoId = condicaoPagamentoParcela.FormaPagamentoId, Parcela = numero }; return(parcela); }