protected void calcular_Click(object sender, EventArgs e) { try { if (validacion()) { cls_Prestamo_DAL prestamo = new cls_Prestamo_DAL(); cls_Prestamo_BLL calculo = new cls_Prestamo_BLL(); double cuotaMes, abonoIntereses, abonoCapital, nuevoSaldo; prestamo.DMtoPres = Convert.ToDouble(mtopress.Value); prestamo.DTasa = Convert.ToDouble(intereses.Value); prestamo.BPlazo = Convert.ToByte(plazo.Value); calculo.CAlculoPrestamo(ref prestamo); cuota.Value = string.Format("{0:n}", prestamo.DCuota); for (byte i = 1; i <= prestamo.BPlazo; i++) { cls_Linea_DAL linea = new cls_Linea_DAL(); cuotaMes = prestamo.DCuota; abonoIntereses = prestamo.DSaldo * (prestamo.DTasa / 100); abonoCapital = cuotaMes - abonoIntereses; nuevoSaldo = prestamo.DSaldo - abonoCapital; prestamo.DSaldo = nuevoSaldo; linea.No = i.ToString(); linea.Monto = string.Format("{0:n}", cuotaMes); linea.Intereses = string.Format("{0:n}", abonoIntereses); linea.Capital = string.Format("{0:n}", abonoCapital); linea.Saldo = string.Format("{0:n}", nuevoSaldo); planPagos.Add(linea); } GridView1.DataSource = planPagos; GridView1.DataBind(); } else { Response.Write("<script>alert('Error: Por favor verificar que los tres campos estan llenos con numeros enteros positivos unicamente');</script>"); } } catch (Exception) { Response.Write("<script>alert('Error: Por favor verificar que los tres campos estan llenos con numeros enteros positivos unicamente');</script>"); } }
public void CAlculoPrestamo(ref cls_Prestamo_DAL Obj_DAL) { try { if (Obj_DAL.BPlazo > 0 && Obj_DAL.BPlazo <= 72) { Double rateExposed = Math.Pow(1 + (Obj_DAL.DTasa / 100), Convert.ToDouble(Obj_DAL.BPlazo)); Obj_DAL.DCuota = Obj_DAL.DMtoPres * (((Obj_DAL.DTasa / 100) * rateExposed) / (rateExposed - 1)); //Obj_DAL.DSaldo = Obj_DAL.DMtoPres - (Obj_DAL.DCuota-(Obj_DAL.DMtoPres * (Obj_DAL.DTasa / 100))); Obj_DAL.DSaldo = Obj_DAL.DMtoPres; } else { //Response.Write("<script>alert('Error: Se permite un plazo maximo de 72 meses');</script>"); } } catch (Exception) { throw; } }