Beispiel #1
0
        private void listarCuotasFinaciadas(int Financiacion, int Valor_Neto, int Valor_Sin, int Valor_Interes, double Valor_Cuota_Con_Interes, double Total)
        {
            try
            {
                DataTable DtCuotasInteres = new DataTable();
                DtCuotasInteres = cuota.ListarCuotasInteres2(Financiacion);
                DtCuotasInteres.Columns.Add("Capital", typeof(decimal));
                DtCuotasInteres.Columns.Add("Interes", typeof(decimal));
                DtCuotasInteres.Columns.Add("Saldo", typeof(decimal));

                decimal saldo        = Valor_Neto - Valor_Sin;
                decimal interes      = saldo * (Convert.ToDecimal(Valor_Interes) / 100);
                decimal capital      = (decimal)Valor_Cuota_Con_Interes - interes;
                decimal interesfecha = 0;
                //double interes = Math.Round(saldo * (Convert.ToDouble(Valor_Interes) / 100), 1);
                for (int i = 0; i < DtCuotasInteres.Rows.Count; i++)
                {
                    DateTime date = DateTime.ParseExact(DtCuotasInteres.Rows[i]["Fecha Pago"].ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
                    if (i != 0)
                    {
                        interes = saldo * (Convert.ToDecimal(Valor_Interes) / 100);
                        capital = (decimal)Valor_Cuota_Con_Interes - interes;
                    }
                    if (date <= actual)
                    {
                        if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Mora")
                        {
                            interesfecha += interes;
                        }
                        else if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Pagada")
                        {
                        }
                        //aqui actuliza el estado de la cuota
                    }
                    saldo = saldo - capital;
                    DtCuotasInteres.Rows[i]["Saldo"]   = Math.Round(saldo);
                    DtCuotasInteres.Rows[i]["Interes"] = Math.Round(interes);
                    DtCuotasInteres.Rows[i]["Capital"] = Math.Round(capital);
                }
                if (Refi == 0)
                {
                    TxtValorMora.Text  = interesfecha.ToString("N2", CultureInfo.CurrentCulture);
                    TxtValorDeuda.Text = ((Valor_Neto - pagadofecha) + interesfecha).ToString("N2", CultureInfo.CurrentCulture);
                }
                dataGridView2.DataSource = DtCuotasInteres;
                dataGridView2.Columns["Id_Cuota"].Visible = false;

                dataGridView2.Columns["Capital"].DefaultCellStyle.Format = "n2";
                dataGridView2.Columns["Interes"].DefaultCellStyle.Format = "n2";
                dataGridView2.Columns["Saldo"].DefaultCellStyle.Format   = "n2";

                //DtRpAmortizacion = DtCuotasInteres.Copy();
                //DtRpAmortizacion.Columns.Remove("Id_Cuota");
            }

            catch (Exception ex)
            {
                MessageBox.Show("Error al listar cuotas amortizacion: " + ex, "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Beispiel #2
0
        private void listarCuotasFinaciadas(int Financiacion, int Valor_Neto, int Valor_Sin, int Valor_Interes, double Valor_Cuota_Con_Interes, double Total)
        {
            DateTime  actual          = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd"), "yyyy-MM-dd", CultureInfo.InvariantCulture);
            DataTable DtCuotasInteres = new DataTable();

            DtCuotasInteres     = cuota.ListarCuotasInteres2(Financiacion);
            numCuotasFinan.Text = DtCuotasInteres.Rows.Count.ToString();
            DtCuotasInteres.Columns.Add("Capital", typeof(string));
            DtCuotasInteres.Columns.Add("Interes", typeof(string));
            DtCuotasInteres.Columns.Add("Saldo", typeof(string));

            decimal saldo        = (decimal)Valor_Neto - Valor_Sin;
            decimal interes      = saldo * (Convert.ToDecimal(Valor_Interes) / 100);
            decimal capital      = (decimal)Valor_Cuota_Con_Interes - interes;
            decimal deudafecha   = 0;
            decimal interesfecha = 0;
            decimal capitalfecha = 0;
            decimal TotalCuotas  = 0;
            decimal TotalInteres = 0;
            decimal TotalCapital = 0;
            decimal TotalAportes = 0;

            //double interes = Math.Round(saldo * (Convert.ToDouble(Valor_Interes) / 100), 1);
            for (int i = 0; i < DtCuotasInteres.Rows.Count; i++)
            {
                DateTime date = DateTime.ParseExact(DtCuotasInteres.Rows[i]["Fecha Pago"].ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
                if (i != 0)
                {
                    interes = saldo * (Convert.ToDecimal(Valor_Interes) / 100);
                    capital = (decimal)Valor_Cuota_Con_Interes - interes;
                }
                if (date <= actual)
                {
                    if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Pagada")
                    {
                        interesfecha += interes;
                        capitalfecha += capital;
                    }
                    else
                    {
                        if (DtCuotasInteres.Rows[i]["Estado"].ToString() != "Inactiva")
                        {
                            deudafecha += (decimal)Valor_Cuota_Con_Interes;
                        }
                    }
                    //aqui actuliza el estado de la cuota
                }
                saldo = saldo - capital;
                DtCuotasInteres.Rows[i]["Saldo"]   = saldo.ToString("N2", CultureInfo.CurrentCulture);
                DtCuotasInteres.Rows[i]["Interes"] = interes.ToString("N2", CultureInfo.CurrentCulture);
                DtCuotasInteres.Rows[i]["Capital"] = capital.ToString("N2", CultureInfo.CurrentCulture);
                TotalCuotas  += (decimal)Valor_Cuota_Con_Interes;
                TotalInteres += interes;
                TotalCapital += capital;
                TotalAportes += decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", "").Replace(".", ","), CultureInfo.CurrentCulture);
            }
            DataRow row = DtCuotasInteres.NewRow();

            row["Estado"]   = "Total";
            row["Capital"]  = Math.Round(TotalCapital, 2).ToString("n2");
            row["Interes"]  = Math.Round(TotalInteres, 2).ToString("n2");
            row["Valor"]    = Math.Round(TotalCuotas, 2).ToString("n2");
            row["Aportado"] = Math.Round(TotalAportes, 2).ToString("n2");
            DtCuotasInteres.Rows.Add(row);
            FilaTotal = DtCuotasInteres.Rows.Count;

            dataGridView1.DataSource = DtCuotasInteres;
            dataGridView1.Columns["Id_Cuota"].Visible = false;
            dataGridView1.Columns["Capital"].DefaultCellStyle.Format = "n2";
            dataGridView1.Columns["Interes"].DefaultCellStyle.Format = "n2";
            dataGridView1.Columns["Saldo"].DefaultCellStyle.Format   = "n2";
            ListarCuotas();
            labelPagado.Text  = "Abono Capital: " + capitalfecha.ToString("n1");
            labelInteres.Text = "Abono Interes: " + interesfecha.ToString("n1");
            labelSaldo.Text   = "Pagado a la fecha: " + TotalAportes.ToString("n1");
            labelDeuda.Text   = "Mora a la fecha: " + deudafecha.ToString("n1");
            formatoGrid1();

            DtRpAmortizacion = DtCuotasInteres.Copy();
            DtRpAmortizacion.Columns.Remove("Id_Cuota");
        }
Beispiel #3
0
        static public DataTable amortizacionFinanciacion(int Financiacion)
        {
            CFinanciacion financiacion = new CFinanciacion();
            CCuota        cuota        = new CCuota();

            DataTable Dtfinanciacion          = financiacion.Financiacion(Financiacion);
            decimal   Valor_Neto              = int.Parse(Dtfinanciacion.Rows[0]["Valor_Neto"].ToString());
            decimal   Valor_Sin               = int.Parse(Dtfinanciacion.Rows[0]["Valor_Sin_interes"].ToString());
            decimal   Valor_Interes           = int.Parse(Dtfinanciacion.Rows[0]["Valor_Interes"].ToString());
            decimal   Valor_Cuota_Con_Interes = decimal.Parse(Dtfinanciacion.Rows[0]["Valor_Cuota_Con_Interes"].ToString());

            DataTable DtCuotas           = cuota.ListarCuotas(Financiacion, "Refinanciación", "");
            decimal   PagadoInicialFecha = 0;

            for (int i = 0; i < DtCuotas.Rows.Count; i++)
            {
                if (DtCuotas.Rows[i]["Tipo"].ToString() == "Valor Inicial" || DtCuotas.Rows[i]["Tipo"].ToString() == "Valor Separación")
                {
                    PagadoInicialFecha += decimal.Parse(DtCuotas.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture);
                }
            }

            DateTime  actual          = DateTime.ParseExact(DateTime.Now.ToString("yyyy-MM-dd"), "yyyy-MM-dd", CultureInfo.InvariantCulture);
            DataTable DtCuotasInteres = new DataTable();

            DtCuotasInteres = cuota.ListarCuotasInteres2(Financiacion);
            DtCuotasInteres.Columns.Add("Capital", typeof(string));
            DtCuotasInteres.Columns.Add("Interes", typeof(string));
            DtCuotasInteres.Columns.Add("Saldo", typeof(string));

            DataTable DtResult = new DataTable();

            DtResult.Columns.Add("interesfecha", typeof(string));
            DtResult.Columns.Add("deudafecha", typeof(string));
            DtResult.Columns.Add("capitalfecha", typeof(string));
            DtResult.Columns.Add("aportesfecha", typeof(string));
            DtResult.Columns.Add("saldofecha", typeof(string));


            decimal saldo              = Valor_Neto - Valor_Sin;
            decimal interes            = saldo * (decimal)Valor_Interes / 100;
            decimal capital            = Convert.ToDecimal(DtCuotasInteres.Rows[0]["Valor"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes;
            decimal deudafecha         = 0;
            decimal interespagadofecha = 0;
            decimal interesmorafecha   = 0;
            decimal capitalpagadofecha = 0;
            decimal aportadofecha      = 0;
            decimal aportesfecha       = 0;

            for (int i = 0; i < DtCuotasInteres.Rows.Count; i++)
            {
                DateTime date = DateTime.ParseExact(DtCuotasInteres.Rows[i]["Fecha Pago"].ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
                if (i != 0)
                {
                    interes = saldo * (Convert.ToDecimal(Valor_Interes) / 100);
                    capital = decimal.Parse(DtCuotasInteres.Rows[i]["Valor"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes;
                }
                if (date <= actual)
                {
                    if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Pagada")
                    {
                        string ensayo = DtCuotasInteres.Rows[i]["Estado"].ToString();
                        interespagadofecha += interes;
                        capitalpagadofecha += capital;
                    }
                    else if (DtCuotasInteres.Rows[i]["Estado"].ToString() == "Mora")
                    {
                        if (decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) != 0)
                        {
                            capitalpagadofecha += decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture);
                        }
                        interesmorafecha += interes;
                        deudafecha       += (decimal)Valor_Cuota_Con_Interes;
                    }
                    aportadofecha = decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture) - interes;
                }
                saldo = saldo - capital;
                DtCuotasInteres.Rows[i]["Saldo"]   = saldo.ToString("N2", CultureInfo.CurrentCulture);
                DtCuotasInteres.Rows[i]["Interes"] = interes.ToString("N2", CultureInfo.CurrentCulture);
                DtCuotasInteres.Rows[i]["Capital"] = capital.ToString("N2", CultureInfo.CurrentCulture);
                aportesfecha += decimal.Parse(DtCuotasInteres.Rows[i]["Aportado"].ToString().Replace(",", ""), CultureInfo.InvariantCulture);
            }
            DataRow row = DtResult.NewRow();

            row["interesfecha"] = interespagadofecha.ToString();
            row["deudafecha"]   = deudafecha.ToString();
            row["capitalfecha"] = capitalpagadofecha.ToString();
            row["aportesfecha"] = aportesfecha.ToString();
            decimal neto        = Valor_Neto;
            decimal inetermora  = Math.Round(interesmorafecha, 2);
            decimal pagoinicial = PagadoInicialFecha;
            decimal capipagado  = Math.Round(capitalpagadofecha, 2);

            row["saldofecha"] = ((neto + inetermora) - (pagoinicial + capipagado)).ToString();
            DtResult.Rows.Add(row);
            return(DtResult);
        }