private void DgvAlumnos_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex == -1 && e.ColumnIndex >= 5) { //if (DialogResult.Yes == MessageBox.Show("¿Desea cerrar la asistencia al colegio " + cbEscuelas.selectedValue + " en la fecha " + cbFechas.selectedValue + "?", "Asistencia Alumnos", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation)) //{ // dgvAlumnos.Columns[e.ColumnIndex].Visible = false; return; //} } if (e.ColumnIndex >= 5) { string strFecha = ""; foreach (Escuela unaEscuela in ConexionBD.CargarEscuelas()) { if (cbEscuelas.selectedValue == unaEscuela.Nombre) { unaEscuela.CursoActivo = ConexionBD.CargarCursoActivo(unaEscuela.Nombre); foreach (Alumno miAlumno in ConexionBD.CargarAlumnos(unaEscuela.Nombre)) { if (miAlumno.NumeroDeControl == dgvAlumnos.CurrentRow.Cells[1].Value.ToString()) { foreach (DataGridViewColumn columna in dgvAlumnos.Columns) { if (columna.Index == dgvAlumnos.CurrentCell.ColumnIndex) { strFecha = columna.HeaderText; } } ClaseAsistencia unaAsistencia = new ClaseAsistencia(unaEscuela.CursoActivo.Clave, DateTime.Parse(strFecha)); if ((int)dgvAlumnos.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == 0) { dgvAlumnos.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1; ConexionBD.AgregarAsistencia(unaAsistencia, miAlumno.NumeroDeControl, unaEscuela.Nombre, true); } else { dgvAlumnos.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0; ConexionBD.AgregarAsistencia(unaAsistencia, miAlumno.NumeroDeControl, unaEscuela.Nombre, false); } } } } } } }
public static void AgregarAsistencia(ClaseAsistencia unaAsistencia, string strNumeroControl, string strEscuela, bool blnAsistio) { using (SqlConnection con = ObtenerConexion()) { SqlCommand comando; if (blnAsistio) { comando = new SqlCommand("INSERT INTO ASISTENCIA VALUES ('" + (strNumeroControl) + "', '" + strEscuela + "', '" + unaAsistencia.IDCurso + "', '" + FormatearFecha(unaAsistencia.Fecha) + "')", con); } else { comando = new SqlCommand("DELETE FROM ASISTENCIA WHERE NumeroControl = '" + strNumeroControl + "' AND NombreEscuela = '" + strEscuela + "' AND IDCurso = '" + unaAsistencia.IDCurso + "' AND Fecha = '" + FormatearFecha(unaAsistencia.Fecha) + "'", con); } comando.ExecuteNonQuery(); } }