예제 #1
0
        public List <CuotasPorMesViewModels> listaPorMes(CalcularCuotaViewModels data)
        {
            setDataToDictionary(data);
            var listaDeCuotas = new List <CuotasPorMesViewModels>();

            listaDeCuotas.Add(new CuotasPorMesViewModels()
            {
                CuotaConInteres       = cantidad["CuotaConInteres"],
                CuotaSinInteres       = cantidad["CuotaSinInteres"],
                InteresPorMes         = cantidad["InteresPorMes"],
                SaldoPrecioConInteres = punto.dosDecimales(cantidad["SaldoConInteres"]),
                SaldoPrecioSinInteres = punto.dosDecimales(cantidad["SaldoSinInteres"]),
                SaldoInteresTotal     = punto.dosDecimales(cantidad["InteresTotal"]),
            });

            for (int i = 1; i <= (int)cantidad["TiempoDeFinanciamiento"]; i++)
            {
                cantidad["SaldoConInteres"] -= cantidad["CuotaConInteres"];
                cantidad["InteresTotal"]    -= cantidad["InteresPorMes"];
                cantidad["SaldoSinInteres"] -= cantidad["CuotaSinInteres"];

                listaDeCuotas.Add(new CuotasPorMesViewModels()
                {
                    CuotaConInteres       = cantidad["CuotaConInteres"],
                    CuotaSinInteres       = cantidad["CuotaSinInteres"],
                    InteresPorMes         = cantidad["InteresPorMes"],
                    SaldoPrecioConInteres = punto.dosDecimales(cantidad["SaldoConInteres"]),
                    SaldoPrecioSinInteres = punto.dosDecimales(cantidad["SaldoSinInteres"]),
                    SaldoInteresTotal     = punto.dosDecimales(cantidad["InteresTotal"]),
                });
            }

            return(listaDeCuotas);
        }
예제 #2
0
        public List <CuotasPorFinanciamientoViewModels> listaPorFinanciamiento(CalcularCuotaViewModels data)
        {
            var listaDeCuotas = new List <CuotasPorFinanciamientoViewModels>();

            ILoteComponent lote = new PrecioLote(data.cantidad);

            lote = new EngancheLote(lote, data.enganche);
            ILoteComponent loteInteres = new EngancheLote(lote, data.enganche);
            double         enganche    = punto.dosDecimales(data.enganche);
            double         precioNeto  = punto.dosDecimales(lote.calcularSaldo());

            while (data.tiempo <= 120)
            {
                //loteInteres = new InteresLote(lote, new InteresPerlas(), data.tiempo);
                loteInteres = new InteresLote(lote, data.interes, data.tiempo);
                listaDeCuotas.Add(
                    new CuotasPorFinanciamientoViewModels()
                {
                    PrecioBruto  = data.cantidad,
                    Meses        = data.tiempo,
                    Enganche     = enganche,
                    PrecioNeto   = precioNeto,
                    InteresTotal = punto.dosDecimales(loteInteres.calcularMonto()),
                    PrecioTotal  = punto.dosDecimales(loteInteres.calcularSaldo()),
                    Cuotas       = punto.dosDecimales(loteInteres.calcularSaldo() / data.tiempo)
                });

                data.tiempo += 12;
            }

            return(listaDeCuotas);
        }
예제 #3
0
        public ActionResult DetailMonths(CalcularCuotaViewModels data)
        {
            ViewBag.Message = "Tabla Cuotas";
            CuotasPorMes calcular = new CuotasPorMes();
            var          model    = calcular.listaPorMes(data);

            sourceMes = model;
            return(View(model));
        }
예제 #4
0
        public ActionResult Details(CalcularCuotaViewModels data)
        {
            ViewBag.Message = "Tabla Financiamiento";
            CuotasPorFinanciamiento calcular = new CuotasPorFinanciamiento();

            data.tiempo = 12;
            var model = calcular.listaPorFinanciamiento(data);

            sourceFinan = model;
            return(View(model));
        }
예제 #5
0
        public void setDataToDictionary(CalcularCuotaViewModels data)
        {
            cantidad.Add("TiempoDeFinanciamiento", data.tiempo);

            ILoteComponent lote = new PrecioLote(data.cantidad);

            lote = new EngancheLote(lote, data.enganche);
            cantidad.Add("SaldoSinInteres", lote.calcularSaldo());

            //lote = new InteresLote(lote, new InteresPerlas(), (int)cantidad["TiempoDeFinanciamiento"]);
            lote = new InteresLote(lote, data.interes, data.tiempo);
            cantidad.Add("InteresTotal", lote.calcularMonto());
            cantidad.Add("SaldoConInteres", lote.calcularSaldo());

            addCuotaConInteres();
            addCuotaSinInteres();
            addInteresPorMes();
        }