private void modificar_Click(object sender, EventArgs e) { if (this.dataGridView1.CurrentRow != null && this.dataGridView1.CurrentRow.DataBoundItem != null) { utils = new Bloqueador(); utils.process(null, null, null, new List <Control>() { this.registrar, this.modificar, this.dateTimePicker1, this.completa, this.media }); utils = new Desbloqueador(); utils.process(null, null, null, new List <Control>() { this.groupBox1, this.btnGuardar }); haciendoCambios = true; isEdit = true; this.current = this.dataGridView1.CurrentRow.DataBoundItem as InasistenciaAlumno; this.chJustificado.Checked = this.current.Justificada; if (this.current.valor == 1.0) { completa.Checked = true; } else { media.Checked = true; } this.dateTimePicker1.Value = current.fecha; } }
private void registrar_Click(object sender, EventArgs e) { utils = new Bloqueador(); utils.process(null, null, null, new List <Control>() { this.registrar, this.modificar }); utils = new Desbloqueador(); utils.process(null, null, null, new List <Control>() { this.groupBox1, this.btnGuardar, this.chJustificado, this.completa, this.media, this.dateTimePicker1 }); haciendoCambios = true; isEdit = false; this.current = null; }
//Inasistencias public void guardarInasistencia(InasistenciaAlumno inasistencia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); StringBuilder sb = new StringBuilder(); sb.Append(" insert into inasistencia_de_alumno "); sb.Append(" (ina_alumno_id,ina_fecha,ina_valor,ina_dvh,ina_justificada) "); sb.Append(" values(@alu,@fecha,@valor,@dvh,@justificada) "); String dvh = new DAOSeguridad().recalcularDigitoHorizontal(new String[] { inasistencia.Alumno.legajo.ToString(), inasistencia.fecha.ToString("yyyy-MM-dd") }); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@alu", SqlDbType.BigInt)).Value = inasistencia.Alumno.legajo; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.DateTime)).Value = inasistencia.fecha.ToString("yyyy-MM-dd"); cmd.Parameters.Add(new SqlParameter("@valor", SqlDbType.Decimal) { Precision = 2 }).Value = inasistencia.valor; cmd.Parameters.Add(new SqlParameter("@dvh", SqlDbType.VarChar)).Value = dvh; cmd.Parameters.Add(new SqlParameter("@justificada", SqlDbType.Bit)).Value = inasistencia.Justificada; try { cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se guardó una inasistencia", CriticidadEnum.BAJA); new DAOSeguridad().recalcularDigitoVertical("INASISTENCIA_DE_ALUMNO"); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
public Boolean verificarFechasRepetidas(InasistenciaAlumno inas) { bool hayRepetidas = false; List <InasistenciaAlumno> inasistenciasGuardadas = this.dataGridView1.DataSource as List <InasistenciaAlumno>; foreach (InasistenciaAlumno item in inasistenciasGuardadas) { if (item.fecha.ToString("yyyy-MM-dd").Equals(inas.fecha.ToString("yyyy-MM-dd")) && item.GetHashCode() != inas.GetHashCode()) { hayRepetidas = true; break; } } return(hayRepetidas); }
public List <InasistenciaAlumno> listarInasistencias(String filtro, String valor, String orden) { SqlDataReader reader = null; SqlConnection connection = ConexionSingleton.obtenerConexion(); List <InasistenciaAlumno> inasistenciaAlumnos = new List <InasistenciaAlumno>(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); SqlCommand cmd = new SqlCommand("SELECT * FROM INASISTENCIA_DE_ALUMNO WHERE INA_ALUMNO_ID = @ID ", connection, tx); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.BigInt)).Value = long.Parse(valor); try { reader = cmd.ExecuteReader(); while (reader.Read()) { InasistenciaAlumno inas = new InasistenciaAlumno(); inas.fecha = DateTime.Parse(reader.GetValue(1).ToString()); inas.valor = (double)reader.GetDecimal(2); inas.Justificada = reader.GetBoolean(4); inasistenciaAlumnos.Add(inas); } reader.Close(); tx.Commit(); connection.Close(); } catch (Exception) { if (reader != null) { reader.Close(); } tx.Rollback(); connection.Close(); throw; } return(inasistenciaAlumnos); }
public void modificarInasistencia(InasistenciaAlumno inasistencia) { SqlConnection connection = ConexionSingleton.obtenerConexion(); connection.Open(); SqlTransaction tx = connection.BeginTransaction(); StringBuilder sb = new StringBuilder(); sb.Append(" update inasistencia_de_alumno set "); sb.Append(" ina_justificada = @justificada "); sb.Append(" where ina_alumno_id = @alu and ina_fecha = @fecha"); SqlCommand cmd = new SqlCommand(sb.ToString(), connection, tx); cmd.Parameters.Add(new SqlParameter("@alu", SqlDbType.BigInt)).Value = inasistencia.Alumno.legajo; cmd.Parameters.Add(new SqlParameter("@fecha", SqlDbType.DateTime)).Value = inasistencia.fecha.ToString("yyyy-MM-dd"); cmd.Parameters.Add(new SqlParameter("@justificada", SqlDbType.Bit)).Value = inasistencia.Justificada; try { cmd.CommandText = sb.ToString(); cmd.ExecuteNonQuery(); tx.Commit(); connection.Close(); Usuario usu = new Usuario(); usu.id = TrabajoDeCampo.Properties.Settings.Default.SessionUser; new DAOSeguridad().grabarBitacora(usu, "Se modificó una inasistencia", CriticidadEnum.BAJA); new DAOSeguridad().recalcularDigitoVertical("INASISTENCIA_DE_ALUMNO"); } catch (Exception) { tx.Rollback(); connection.Close(); throw; } }
private void btnGuardar_Click(object sender, EventArgs e) { if ((!this.completa.Checked && !this.media.Checked)) { MessageBox.Show(traducciones["com.td.complete.campos"]); return; } DialogResult result = MessageBox.Show(traducciones["com.td.seguro"], "", MessageBoxButtons.OKCancel); if (!result.Equals(DialogResult.OK)) { return; } if (this.current != null) { this.current.fecha = this.dateTimePicker1.Value; if (this.completa.Checked) { this.current.valor = 1.0; } else { this.current.valor = 0.5; } this.current.Justificada = this.chJustificado.Checked; this.current.Alumno = alumno; try { bool repetidas = verificarFechasRepetidas(this.current); if (!repetidas) { this.servicioAlumnos.modificarInasistencia(this.current); MessageBox.Show(traducciones["com.td.completado"]); this.limpiar(); this.listarInasistencias(); } else { MessageBox.Show(traducciones["com.td.fecha.ocupada"]); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { InasistenciaAlumno inas = new InasistenciaAlumno(); inas.fecha = this.dateTimePicker1.Value; inas.Alumno = this.alumno; inas.valor = (this.completa.Checked) ? 1.0 : 0.5; inas.Justificada = this.chJustificado.Checked; try { bool repetidas = verificarFechasRepetidas(inas); if (!repetidas) { this.servicioAlumnos.guardarInasistencia(inas); MessageBox.Show(traducciones["com.td.completado"]); this.limpiar(); this.listarInasistencias(); } else { MessageBox.Show(traducciones["com.td.fecha.ocupada"]); } } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public void modificarInasistencia(InasistenciaAlumno inasistencia) { this.daoAlumnos.modificarInasistencia(inasistencia); }
//Inasistencias public void guardarInasistencia(InasistenciaAlumno inasistencia) { this.daoAlumnos.guardarInasistencia(inasistencia); }