public static Ahorro select(int id) { Ahorro ahorro = new Ahorro(); ahorro.id = id; string query; List <SqlParameter> parameters; query = "select codigo, id_asociado, tipo, interes, fecha, activo from asociados.ahorro where id = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", id) }; SqlDataReader dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { ahorro.codigo = dataReader.GetString(0); ahorro.idAsociado = dataReader.GetInt32(1); ahorro.tipo = dataReader.GetString(2); ahorro.interes = dataReader.GetByte(3); ahorro.fecha = dataReader.GetDateTime(4); ahorro.activo = dataReader.GetBoolean(5); } dataReader.Close(); if (ahorro.tipo == "Depósito a plazo") { AhorroPlazo ahorroPlazo = new AhorroPlazo(); query = "select monto_inicial, plazo, extendido from asociados.ahorroplazo where id_ahorro = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", id) }; dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { ahorroPlazo.montoInicial = dataReader.GetDecimal(0); ahorroPlazo.plazo = dataReader.GetByte(1); ahorroPlazo.extendido = dataReader.GetByte(2); } dataReader.Close(); ahorro.ahorroPlazo = ahorroPlazo; } if (ahorro.tipo == "Programado") { AhorroProgramado ahorroProgramado = new AhorroProgramado(); query = "select cuota, forma_pago, plazo, extendido from asociados.ahorroprogramado where id_ahorro = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", id) }; dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { ahorroProgramado.cuota = dataReader.GetDecimal(0); ahorroProgramado.formaPago = dataReader.GetString(1); ahorroProgramado.plazo = dataReader.GetByte(2); ahorroProgramado.extendido = dataReader.GetByte(3); } dataReader.Close(); ahorro.ahorroProgramado = ahorroProgramado; } query = "select tipo, monto, fecha, saldo_parcial from asociados.ahorrodetalle where id_ahorro = @id order by fecha"; parameters = new List <SqlParameter>() { new SqlParameter("id", id) }; dataReader = Queries.getDataReader(query, parameters); ahorro.detalles = new List <AhorroDetalle>(); AhorroDetalle detalle; while (dataReader.Read()) { detalle = new AhorroDetalle(); detalle.tipo = dataReader.GetString(0); detalle.monto = dataReader.GetDecimal(1); detalle.fecha = dataReader.GetDateTime(2); detalle.saldoParcial = dataReader.GetDecimal(3); ahorro.detalles.Add(detalle); } dataReader.Close(); query = "select nombre, edad, porcentaje, parentesco from asociados.beneficiarioahorro where id_ahorro = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", id) }; dataReader = Queries.getDataReader(query, parameters); ahorro.beneficiarios = new List <Beneficiario>(); Beneficiario beneficiario; while (dataReader.Read()) { beneficiario = new Beneficiario(); beneficiario.nombre = dataReader.GetString(0); beneficiario.edad = dataReader.GetByte(1); beneficiario.porcentaje = dataReader.GetByte(2); beneficiario.parentesco = dataReader.GetString(3); ahorro.beneficiarios.Add(beneficiario); } dataReader.Close(); ahorro.asociado = AsociadoServicio.selectParcial(ahorro.idAsociado); return(ahorro); }
// ########################################################################################## // ############### Recuperar un crédito a partir de su id ############################### // ########################################################################################## public static Credito select(int id) { Credito credito = new Credito(); credito.id = id; string query; List <SqlParameter> parameters; // #### Recuperar la información del crédito ##### query = "select codigo, id_asociado, tipo, monto, interes, cuota, " + "plazo, forma_pago, fecha, aportacion, cuota_social, garantia_aportacion, activo " + "from asociados.credito where id = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", credito.id) }; SqlDataReader dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { credito.codigo = dataReader.GetString(0); credito.idAsociado = dataReader.GetInt32(1); credito.tipo = dataReader.GetString(2); credito.monto = dataReader.GetDecimal(3); credito.interes = dataReader.GetByte(4); credito.cuota = dataReader.GetDecimal(5); credito.plazo = dataReader.GetByte(6); credito.forma_pago = dataReader.GetString(7); credito.fecha = dataReader.GetDateTime(8); credito.aportacion = dataReader.GetDecimal(9); credito.cuota_social = dataReader.GetDecimal(10); credito.garantia_aportacion = dataReader.GetBoolean(11); credito.activo = dataReader.GetBoolean(12); } dataReader.Close(); // #### Recuperar los pagos de este crédito ##### credito.detallesPago = new List <CreditoDetalle>(); query = "select monto_pagado, aportacion, cuota_social, capital, interes, fecha, saldoParcial from asociados.creditodetalle " + "where id_credito = @id order by fecha"; parameters = new List <SqlParameter>() { new SqlParameter("id", credito.id) }; dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { CreditoDetalle detalle = new CreditoDetalle(dataReader.GetDecimal(0), dataReader.GetDecimal(1), dataReader.GetDecimal(2), dataReader.GetDateTime(5)); detalle.capital = dataReader.GetDecimal(3); detalle.interes = dataReader.GetDecimal(4); detalle.saldoParcial = dataReader.GetDecimal(6); credito.detallesPago.Add(detalle); } dataReader.Close(); // ##### Recupera la información del asociado (parcialmente, solo la que se usa) #### credito.asociado = AsociadoServicio.selectParcial(credito.idAsociado); // #### Recupera el objeto CreditoDescuento ##### credito.creditoDescuento = new CreditoDescuento(); query = "select cuota_ingreso, escrituracion, seguro, papeleria from asociados.creditodescuento where id_credito = @id"; parameters = new List <SqlParameter>() { new SqlParameter("id", credito.id) }; dataReader = Queries.getDataReader(query, parameters); while (dataReader.Read()) { credito.creditoDescuento.cuota_ingreso = dataReader.GetDecimal(0); credito.creditoDescuento.escrituracion = dataReader.GetDecimal(1); credito.creditoDescuento.seguro = dataReader.GetDecimal(2); credito.creditoDescuento.papeleria = dataReader.GetDecimal(3); } dataReader.Close(); return(credito); }