Exemplo n.º 1
0
        private void NumeroCuotacomboBox_SelectedValueChanged(object sender, EventArgs e)
        {
            //if (ClientecomboBox.Text != "Seleccione un cliente" && PrestamoIdcomboBox.SelectedIndex != 0 && NumeroCuotacomboBox.SelectedIndex != 0)
            if (ClientecomboBox.Text != "Seleccione un cliente" && PrestamoIdcomboBox.Enabled && NumeroCuotacomboBox.Enabled)
            {
                RepositorioBase <PrestamosDetalles> repositorio = new RepositorioBase <PrestamosDetalles>();
                List <PrestamosDetalles>            ListaCuotas = new List <PrestamosDetalles>();
                PrestamosDetalles cuota = new PrestamosDetalles();
                int CuotaId, PrestamoId, NumeroCuota;

                int.TryParse(NumeroCuotacomboBox.SelectedValue.ToString(), out CuotaId);
                int.TryParse(PrestamoIdcomboBox.SelectedValue.ToString(), out PrestamoId);
                int.TryParse(NumeroCuotacomboBox.Text, out NumeroCuota);
                cuota = repositorio.Buscar(CuotaId);
                BalanceCuotalabel.Text = Convert.ToString(cuota.Balance);

                //Uso el GetList debido a que es el único que conozco que me permite aplicar condiciones a la hora de buscar registros
                ListaCuotas = repositorio.GetList(p => true).Where(p => p.PrestamoId == PrestamoId && p.NumeroCuota == NumeroCuota).ToList();

                //Uso el foreach para poder sacar el único elemento que tendrá la lista enlazada, el cual es la cuota seleccionada
                foreach (var item in ListaCuotas)
                {
                    BalanceCuotalabel.Text = Convert.ToString(item.Balance);
                }

                MontonumericUpDown.Enabled = true;
            }
        }
        public List <PrestamosDetalles> CalcularCuotas(int tiempo, double montoCapital, double tasaInteres)
        {
            List <PrestamosDetalles> list = new List <PrestamosDetalles>();

            double tasa       = tasaInteres / 100;
            double interes    = (montoCapital * tasa) / tiempo;
            double capital    = montoCapital / tiempo;
            double pago       = interes + capital;
            double balanceAnt = 0;

            for (int i = 1; i <= tiempo; i++)
            {
                PrestamosDetalles pd = new PrestamosDetalles();
                pd.NoCuota = i;
                pd.Interes = interes;
                pd.Capital = capital;

                if (i == 1)
                {
                    pd.Balance = (montoCapital * tasa) + (montoCapital - pago);
                    balanceAnt = pd.Balance;
                }
                else
                {
                    pd.Balance = balanceAnt - pago;
                    balanceAnt = pd.Balance;
                }


                list.Add(pd);
            }

            return(list);
        }