Exemplo n.º 1
0
        public static TList_Parcelas CalcularParcelas(decimal Vl_documento,
                                                      decimal Vl_juro,
                                                      DateTime Dt_emissao,
                                                      decimal Qtd_parcelas,
                                                      decimal DiasDesdobro)
        {
            TList_Parcelas lParc       = new TList_Parcelas();
            decimal        vl_parcela  = Math.Round(Vl_documento / Qtd_parcelas, 2);
            decimal        vl_juroparc = Math.Round(Vl_juro / Qtd_parcelas, 2);

            for (int i = 0; i < Qtd_parcelas; i++)
            {
                Dt_emissao = Dt_emissao.AddDays(DiasDesdobro.Equals(decimal.Zero) ? 30 : Convert.ToDouble(DiasDesdobro));
                lParc.Add(new TParcelas()
                {
                    Dt_vencimento     = Dt_emissao,
                    Vl_parcela        = vl_parcela,
                    Vl_parcela_padrao = vl_parcela,
                    Vl_juro           = vl_juroparc
                });
            }
            lParc[lParc.Count - 1].Vl_parcela += Vl_documento - lParc.Sum(p => p.Vl_parcela);
            lParc[lParc.Count - 1].Vl_juro    += Vl_juro - lParc.Sum(p => p.Vl_juro);
            return(lParc);
        }
Exemplo n.º 2
0
        public static TList_Parcelas CalcularParcelas(decimal Vl_documento,
                                                      decimal Vl_documento_padrao,
                                                      DateTime Dt_emissao,
                                                      TList_CadCondPgto_X_Parcelas lCondParc)
        {
            TList_Parcelas lParc = new TList_Parcelas();

            lCondParc.ForEach(p =>
            {
                lParc.Add(new TParcelas()
                {
                    Dt_vencimento     = Dt_emissao.AddDays(Convert.ToDouble(p.Qt_dias)),
                    Vl_parcela        = Math.Round(Math.Round(Vl_documento, 2) * Math.Round(p.Pc_rateio, 2) / 100, 2),
                    Vl_parcela_padrao = Math.Round(Math.Round(Vl_documento_padrao, 2) * Math.Round(p.Pc_rateio, 2) / 100, 2)
                }
                          );
            });
            return(lParc);
        }
Exemplo n.º 3
0
 public static void ParcPedido(TList_Pedido_DT_Vencto lDt_vencto,
                               TList_Parcelas lParc,
                               DateTime Dt_emissao)
 {
     if (lDt_vencto.Count != lParc.Count)
     {
         lParc.Clear();
         lDt_vencto.ForEach(p =>
                            lParc.Add(new TParcelas()
         {
             Dt_vencimento     = p.Dt_vencto,
             Vl_parcela        = p.VL_Parcela,
             Vl_parcela_padrao = p.VL_Parcela
         }));
     }
     for (int i = 0; i < lDt_vencto.Count; i++)
     {
         lParc[i].Dt_vencimento = lDt_vencto[i].Dt_vencto;
     }
 }