예제 #1
0
        public void CalcularAmortización()
        {
            int totalMeses = _años * 12, año = 1, mes = 2;

            _mensualidad = Pagos.mensualidad(_capital, _interes, _años);
            double interesDecimal = (_interes / 100) / 12;

            _listaAmortizacion = new List <ItemAmortizacion>();

            ItemAmortizacion itemAnterior = new ItemAmortizacion(año, 1, _capital, interesDecimal, _mensualidad, 0);

            van.Pagos.Add(_mensualidad);
            _listaAmortizacion.Add(itemAnterior);

            for (int i = 0; i < totalMeses - 1; i++)
            {
                if (mes == 12)
                {
                    año++;
                    mes = 1;
                }
                ItemAmortizacion item = new ItemAmortizacion(año, mes, itemAnterior.Capital, interesDecimal, _mensualidad, itemAnterior.CapitalAmortizado);

                if (i == totalMeses - 2)
                {
                    //ultimo mes
                    double ultimacuota = Math.Round((_mensualidad + item.Capital) * 100) / 100;
                    item = new ItemAmortizacion(año, mes, itemAnterior.Capital, interesDecimal, ultimacuota, itemAnterior.CapitalAmortizado);
                }
                itemAnterior = item;
                _listaAmortizacion.Add(itemAnterior);

                van.Pagos.Add(_mensualidad);
                mes++;
            }
        }
예제 #2
0
        /// <summary>
        /// Calcula el beneficio que se lleva el banco supuesto un interes fijo
        /// </summary>
        /// <param name="prestamo">cantidad de prestamos que se pide</param>
        /// <param name="intereses">interés que aplica el banco</param>
        /// <param name="años">años que dura la hipoteca</param>
        /// <returns>beneficio que se lleva el banco</returns>
        public static double beneficio(double prestamo, double intereses, int años)
        {
            double mensualidad = Pagos.mensualidad(prestamo, intereses, años);

            return(años * 12 * mensualidad - prestamo);
        }