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); }
private void btnGuardar_Click(object sender, EventArgs e) { if (cmbAsociados.SelectedIndex != -1 && cmbPlan.SelectedIndex != -1 && ahorro.beneficiarios != null && (!cmbFormaPago.Enabled || cmbFormaPago.SelectedIndex != -1)) { Form formEspera = new FormEspera(); formEspera.Show(); try { Queries.transactionBegin(); Asociado asociado = (Asociado)(cmbAsociados.SelectedItem as ComboBoxItem).Value; asociado = AsociadoServicio.selectParcial(asociado.id); ahorro.idAsociado = asociado.id; ahorro.fecha = dtpFecha.Value; ahorro.interes = (byte)nudTasa.Value; if (ahorro.tipo == "Depósito a plazo") { AhorroPlazo ahorroPlazo = new AhorroPlazo(); ahorroPlazo.montoInicial = nudMonto.Value; ahorroPlazo.plazo = (byte)nudPlazo.Value; ahorroPlazo.extendido = 1; ahorroPlazo.codigoCuenta = cmbFormaPago.SelectedItem.ToString(); ahorro.ahorroPlazo = ahorroPlazo; } if (ahorro.tipo == "Programado") { AhorroProgramado ahorroProgramado = new AhorroProgramado(); ahorroProgramado.cuota = nudMonto.Value; ahorroProgramado.formaPago = cmbFormaPago.SelectedItem.ToString(); ahorroProgramado.plazo = (byte)nudPlazo.Value; ahorroProgramado.extendido = 1; ahorro.ahorroProgramado = ahorroProgramado; } ahorro.insert(); switch (ahorro.tipo) { case "Corriente": TiposCorrelativo.AhorroCorriente.update(); Reportes.contratoAhorroCorriente(asociado, ahorro); break; case "Depósito a plazo": TiposCorrelativo.AhorroPlazo.update(); Reportes.certificado(asociado, ahorro); break; case "Programado": TiposCorrelativo.AhorroProgramado.update(); Reportes.contratoAhorroProgramado(asociado, ahorro); if (ahorro.ahorroProgramado.formaPago == "Orden de descuento") { Reportes.ordenDescuento(asociado, ahorro); } break; } Queries.transactionCommit(); formEspera.Close(); Reportes.abrirCarpeta(); this.Close(); } catch (Exception ex) { formEspera.Close(); Queries.transactionRollback(); MessageBox.Show(ex.Message); MessageBox.Show(ex.StackTrace); } } else { MessageBox.Show("Debe completar los datos"); } }