private void GenerarTablaAmortizacion() { int i = 0; decimal Saldo = 0; oPrestamo = new List <PrestamosDetalleBE>(); try { if (ValidarCampos()) { NumPagos = int.Parse(txtPagos.Value.ToString()); Semana = oList.Find(item => item.Id > int.Parse(cboSemana.SelectedValue.ToString())).Semana; Importe = txtImporte.Value; Tasa = decimal.Parse(txtTasa.Text.ToString()); ImpPago = decimal.Parse(txtPago.Text); Saldo = Importe; for (i = 1; i <= NumPagos; i++) { PrestamosDetalleBE obj = new PrestamosDetalleBE(); obj.NoPago = i; obj.Semana = CalcularSemana(Semana, i - 1); obj.Fecha = oList.Find(item => item.Semana == obj.Semana).Inicia; obj.Capital = Saldo; obj.ImportePago = ImpPago; obj.Interes = (Saldo * Tasa) / 100; obj.Abono = ImpPago - obj.Interes; Saldo = Saldo - obj.Abono; obj.Saldo = Saldo; obj.Estatus = "VIGENTE"; oPrestamo.Add(obj); } oPrestamo[NumPagos - 1].ImportePago = ImpPago + (oPrestamo[NumPagos - 2].Saldo - oPrestamo[NumPagos - 1].Abono); oPrestamo[NumPagos - 1].Abono = (ImpPago - oPrestamo[NumPagos - 1].Interes) + (oPrestamo[NumPagos - 2].Saldo - oPrestamo[NumPagos - 1].Abono); oPrestamo[NumPagos - 1].Saldo = 0; dgGrid.DataSource = oPrestamo; } } catch (Exception ex) { RadMessageBox.Show("Ocurrío un error al generar la tabla de amortizaciones\n" + ex.Message, this.Text, MessageBoxButtons.OK, RadMessageIcon.Error); } }
public List <PrestamosBE> NOM_Prestamos_Consulta(PrestamosBE item) { List <PrestamosBE> oList = new List <PrestamosBE>(); try { using (SqlConnection conn = new SqlConnection(RecuperarCadenaDeConexion("coneccionSQL"))) { conn.Open(); using (SqlCommand cmd = new SqlCommand(CONS_NOM_PRESTAMOS_CONSULTA, conn)) { cmd.Parameters.AddWithValue("@IdEmpleado", item.Empleado.Id); cmd.Parameters.AddWithValue("@Desde", item.SemanaAplica); cmd.Parameters.AddWithValue("@Hasta", item.NoPagos); cmd.Parameters.AddWithValue("@Folio", item.Id); cmd.Parameters.AddWithValue("@Estatus", item.Empleado.NumeroCuenta); cmd.CommandType = CommandType.StoredProcedure; using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { PrestamosBE obj = new PrestamosBE(); obj.Id = int.Parse(reader["PRE_Id"].ToString()); obj.Empleado.Id = int.Parse(reader["EMP_Id"].ToString()); obj.Empleado.Numero = int.Parse(reader["EMP_Numero"].ToString()); obj.Empleado.Expedientes.DatosPersonales.Nombres = reader["Nombre"].ToString(); obj.ImporteTotal = decimal.Parse(reader["PRE_ImporteTotal"].ToString()); obj.NoPagos = int.Parse(reader["PRE_NumPagos"].ToString()); obj.ImportePago = decimal.Parse(reader["PRE_ImportePago"].ToString()); obj.Pagado = decimal.Parse(reader["Pagado"].ToString()); obj.Saldo = decimal.Parse(reader["Saldo"].ToString()); obj.SemanaAplica = int.Parse(reader["PRE_SemanaAplica"].ToString()); obj.FechaAplica = DateTime.Parse(reader["PRE_FechaPago"].ToString()); obj.Tasa = decimal.Parse(reader["PRE_Tasa"].ToString()); obj.Estatus = reader["PRE_Estatus"].ToString(); obj.DatosUsuario.FechaCreacion = DateTime.Parse(reader["PRE_FechaCreacion"].ToString()); oList.Add(obj); } /* Detalle de Préstamos */ if (reader.NextResult()) { while (reader.Read()) { PrestamosDetalleBE Detalle = new PrestamosDetalleBE(); Detalle.Id = int.Parse(reader["PRE_Id"].ToString()); Detalle.NoPago = int.Parse(reader["PRD_NoPago"].ToString()); Detalle.Semana = int.Parse(reader["PRD_Semana"].ToString()); Detalle.Fecha = DateTime.Parse(reader["PRD_Fecha"].ToString()); Detalle.Capital = decimal.Parse(reader["PRD_Capital"].ToString()); Detalle.Interes = decimal.Parse(reader["PRD_Interes"].ToString()); Detalle.Abono = decimal.Parse(reader["PRD_Abono"].ToString()); Detalle.Saldo = decimal.Parse(reader["PRD_Saldo"].ToString()); Detalle.Estatus = reader["PRD_Estatus"].ToString(); oList.ForEach(Item => { if (Item.Id == Detalle.Id) { Item.Detalle.Add(Detalle); } }); } } } } } return(oList); } catch (Exception ex) { throw ex; } }