Exemplo n.º 1
0
        public static TList_PreVenda_DT_Vencto ReCalcula_VlParcela(TRegistro_PreVenda val, bool St_calcular)
        {
            //Recalcular vl.parcela quando for faturar prevenda com duplicata
            TList_PreVenda_DT_Vencto retorno = new TList_PreVenda_DT_Vencto();

            if (((val.Vl_prevenda - val.Vl_devcred) > 0) && (!string.IsNullOrEmpty(val.Cd_condPgto)) && (val.QTD_Parcelas > 0) && (St_calcular))
            {
                decimal vl_parcela = Math.Round((val.Vl_prevenda - val.Vl_devcred) / val.QTD_Parcelas, 2);
                int     cont       = 1;
                val.DT_Vencto.ForEach(p =>
                {
                    retorno.Add(new CamadaDados.Faturamento.PDV.TRegistro_PreVenda_DT_Vencto()
                    {
                        DiasVencto = p.DiasVencto,
                        Vl_parcela = vl_parcela,
                        id_parcela = cont++
                    });
                });
                if (retorno.Count > 0)
                {
                    retorno[retorno.Count - 1].Vl_parcela += val.Vl_prevenda - val.Vl_devcred - retorno.Sum(p => p.Vl_parcela);
                }
            }
            return(retorno);
        }
Exemplo n.º 2
0
        public static TList_PreVenda_DT_Vencto Calcula_Parcelas(TRegistro_PreVenda val, bool St_calcular)
        {
            TList_PreVenda_DT_Vencto retorno = new TList_PreVenda_DT_Vencto();

            if (((val.Vl_prevenda - val.Vl_devcred) > 0) && (!string.IsNullOrEmpty(val.Cd_condPgto)) && (val.QTD_Parcelas > 0) && (St_calcular))
            {
                TList_Parcelas Lista_Parcela = TLanCalcParcelas.CalcularParcelas(val.Vl_prevenda - val.Vl_devcred,
                                                                                 val.Vl_prevenda - val.Vl_devcred,
                                                                                 val.Dt_emissao.Value,
                                                                                 val.QTD_Parcelas,
                                                                                 val.Parcelas_Dias_Desdobro);
                int cont = 1;
                Lista_Parcela.ForEach(p =>
                {
                    retorno.Add(
                        new CamadaDados.Faturamento.PDV.TRegistro_PreVenda_DT_Vencto()
                    {
                        DiasVencto = p.Dt_vencimento.Value.Subtract(val.Dt_prevenda.Value).Days,
                        Vl_parcela = p.Vl_parcela,
                        id_parcela = cont++
                    });
                });
            }
            return(retorno);
        }