private void cargaComboGrupos() { CBaseDatos bd = new CBaseDatos(); DataSet ds = bd.consulta("SELECT Id_Grupo, Ciclo_Escolar + '/' + cast(Semestre AS VARCHAR(2)) + Grupo AS nombreGrupo FROM Horarios.Grupo"); cbGrupos.DataSource = ds.Tables[0]; cbGrupos.ValueMember = "Id_Grupo"; cbGrupos.DisplayMember = "nombreGrupo"; bd.Dispose(); }
private void wdwReporte_Load(object sender, EventArgs e) { CBaseDatos bd = new CBaseDatos(); DataSet dataCiclos = bd.consulta("SELECT DISTINCT(Ciclo_Escolar) FROM Horarios.Grupo"); this.cbciclos.DataSource = dataCiclos.Tables[0]; this.cbciclos.DisplayMember = "Ciclo_Escolar"; this.cbciclos.ValueMember = "Ciclo_Escolar"; bd.Dispose(); }
private void btnReporte_Click(object sender, EventArgs e) { CBaseDatos bd = new CBaseDatos(); String query = "SELECT * FROM Horarios.Materia "; query += "WHERE Id_Materia IN("; query += "SELECT DISTINCT (M.Id_Materia) "; query += "FROM Horarios.Materia M "; query += "INNER JOIN Horarios.Horario H ON H.Id_Materia = M.Id_Materia "; query += "INNER JOIN Horarios.Grupo G On H.Id_Grupo = G.Id_Grupo "; query += "WHERE G.Ciclo_Escolar = '" + this.cbciclos.SelectedValue.ToString() + "')"; DataSet dataMaterias = bd.consulta(query); this.gridMaterias.DataSource = dataMaterias.Tables[0]; }
public void baja_Materia(int idMateria) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Materia = " + idMateria); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar la materia por que esta asignada a un horario", "Eliminación Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Materia WHERE Id_Materia = " + idMateria); } inicializaControles(); db.Dispose(); }
public void baja_HoraClase(int idHoraClase) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Hora_Clase = " + idHoraClase); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar la hora-clase porque está asignada a un horario", "Eliminación Hora-Clase", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Hora_Clase WHERE Id_Hora_Clase = " + idHoraClase); inicializaControles(); } db.Dispose(); }
public void baja_Grupo(int idGrupo) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Grupo = " + idGrupo); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar el grupo porque está asignado a un horario", "Eliminación Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Grupo WHERE Id_Grupo = " + idGrupo); inicializaControles(); } db.Dispose(); }
public void baja_Profesor(int idProfesor) { CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Profesor = " + idProfesor); if (ds.Tables[0].Rows.Count > 0) { MessageBox.Show("No se puede eliminar el profesor ya que esta asignado a un horario", "Eliminación Profesor", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { db.sql("DELETE FROM Horarios.Profesor WHERE Id_Profesor = " + idProfesor); inicializaControles(); } db.Dispose(); }
private void agregaHorasTabla() { CBaseDatos db = new CBaseDatos(); String query = "SELECT CONVERT(varchar(10), HC.Hora_Inicio, 100) AS Hora "; query += "FROM Horarios.Hora_Clase HC"; DataSet ds = db.consulta(query); int i = 0; foreach (DataRow dr in ds.Tables[0].Rows) { gridHorario.Rows.Add(); gridHorario.Rows[i].HeaderCell.Value = dr["Hora"]; i++; } db.Dispose(); }
private bool validaDatosUnicosProfesor(int idModifica) { int idHoraClase = Convert.ToInt32(cbHoraClase.SelectedValue); int idProfesor = Convert.ToInt32(cbProfesor.SelectedValue); string cadenaDias = generaCadenaDias(); CBaseDatos db = new CBaseDatos(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Hora_Clase = " + idHoraClase + " AND Id_Profesor = " + idProfesor + " AND Id_Horario != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { if (!comparaDiasHoraClase(r["Dia_Semana"].ToString(), cadenaDias, false)) { db.Dispose(); return(false); } } } db.Dispose(); return(true); }
private bool validaDatos() { if (cbProfesor.SelectedValue == null) { MessageBox.Show("Debe seleccionar un profesor para registrar su asistencia", "Registro de asistenacia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (String.IsNullOrEmpty(txtFirma.Text) || String.IsNullOrWhiteSpace(txtFirma.Text)) { MessageBox.Show("Debe ingresar la firma del profesor para registrar su asistencia", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } CBaseDatos db = new CBaseDatos(); long idProfesor = Convert.ToInt64(cbProfesor.SelectedValue); String hora = DateTime.Now.TimeOfDay.ToString(); String dia = obtenDiaActual(); String semestres = obtenSemestresActuales(); String anio = DateTime.Now.Year.ToString(); String query = "SELECT * FROM Horarios.Horario H "; query += "INNER JOIN Horarios.Grupo G ON G.Id_Grupo = H.Id_Grupo "; query += "INNER JOIN Horarios.Profesor P ON P.Id_Profesor = H.Id_Profesor "; query += "INNER JOIN Horarios.Hora_Clase HC ON HC.Id_Hora_Clase = H.Id_Hora_Clase "; query += "WHERE G.Ciclo_Escolar LIKE '%" + anio + "%' AND H.Dia_Semana LIKE '%" + dia + "%' AND G.Semestre IN (" + semestres + ") "; query += "AND P.Id_Profesor = " + idProfesor + " AND DATEADD(minute, -15, HC.Hora_Inicio) <= '" + hora + "' AND DATEADD(minute, -15, HC.Hora_Fin) >= '" + hora + "'"; DataSet ds = db.consulta(query); if (ds.Tables[0].Rows.Count == 0) { db.Dispose(); MessageBox.Show("El profesor no tiene una clase en esta hora, no se puede registrar su asistencia", "Registro de asistenacia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } else { if (ds.Tables[0].Rows[0]["Firma"].ToString() != this.txtFirma.Text) { db.Dispose(); MessageBox.Show("La firma del profesor no es correcta, por favor ingrese la firma correcta", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } if (ds.Tables[0].Rows.Count > 1) { db.Dispose(); MessageBox.Show("Incongruencia en la información, existen mas de una clase asignadas al profesor", "Registro de asistencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } else { //db.Dispose(); //CBaseDatos db2 = new CBaseDatos(); idHorario = Convert.ToInt32(ds.Tables[0].Rows[0]["Id_Horario"]); String hoy = DateTime.Now.ToString("dd/MM/yyyy"); String query2 = "SELECT * FROM ControlPagos.Registro_Asistencia WHERE Id_Horario = " + idHorario + " AND Fecha = '" + hoy + "' AND Hora BETWEEN CONVERT(VARCHAR(5), DATEADD(minute, -15, '" + ds.Tables[0].Rows[0]["Hora_Inicio"].ToString() + "'), 108) AND CONVERT(VARCHAR(5), DATEADD(minute, -15, '" + ds.Tables[0].Rows[0]["Hora_Fin"].ToString() + "'), 108)"; DataSet ds2 = db.consulta(query2); if (ds2.Tables[0].Rows.Count > 0) { db.Dispose(); MessageBox.Show("Ya se registró una asistencia en esta clase para el profesor", "Registro asistencia", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } db.Dispose(); } } return(true); }
private void actualizaDatosGrid() { DataSet ds; CBaseDatos bd = new CBaseDatos(); switch (opcion) { case 1: gbTituloDatos.Text = "Profesores"; ds = bd.consulta("SELECT * FROM Horarios.Profesor"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["id_Profesor"].HeaderText = "Id Profesor"; gridViewDatos.Columns["Direccion"].HeaderText = "Dirección"; gridViewDatos.Columns["Fecha_Nacimiento"].HeaderText = "Fecha de Nacimiento"; gridViewDatos.Columns["Horas_Semanales"].HeaderText = "Horas Semanales"; } else { muestraMensajeErrConexion(); } break; case 2: gbTituloDatos.Text = "Materias"; ds = bd.consulta("SELECT * FROM Horarios.Materia"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Materia"].HeaderText = "Id Materia"; gridViewDatos.Columns["Num_Horas_Clase"].HeaderText = "Numero de Horas Clase"; } else { muestraMensajeErrConexion(); } break; case 3: gbTituloDatos.Text = "Grupos"; ds = bd.consulta("SELECT * FROM Horarios.Grupo"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Grupo"].HeaderText = "Id Grupo"; gridViewDatos.Columns["Ciclo_Escolar"].HeaderText = "Ciclo Escolar"; } else { muestraMensajeErrConexion(); } break; case 4: gbTituloDatos.Text = "Horas Clase"; ds = bd.consulta("SELECT Id_Hora_Clase, CONVERT(varchar(10), Hora_Inicio, 100) AS Hini, CONVERT(varchar(10), Hora_Fin, 100) AS Hfin FROM Horarios.Hora_Clase"); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Hora_Clase"].HeaderText = "Id Hora Clase"; gridViewDatos.Columns["Hini"].HeaderText = "Hora Inicio"; gridViewDatos.Columns["Hfin"].HeaderText = "Hora Fin"; } else { muestraMensajeErrConexion(); } break; case 5: gbTituloDatos.Text = "Horarios"; String query = "SELECT H.Id_Horario, CONVERT(varchar(10), Hora_Inicio, 100) + ' - ' + CONVERT(VARCHAR(10), Hora_Fin, 100) AS HoraClase, G.Ciclo_Escolar + '/' + CAST(G.Semestre AS VARCHAR(2)) + G.Grupo AS Grupo, M.Nombre AS Materia, P.Nombre AS Profesor, H.Dia_Semana "; query += "FROM Horarios.Horario H INNER JOIN Horarios.Hora_Clase HC ON HC.Id_Hora_Clase = H.Id_Hora_Clase INNER JOIN Horarios.Grupo G ON G.Id_Grupo = H.Id_Grupo INNER JOIN Horarios.Materia M ON M.Id_Materia = H.Id_Materia INNER JOIN Horarios.Profesor P ON P.Id_Profesor = H.Id_Profesor"; ds = bd.consulta(query); if (ds != null) { gridViewDatos.DataSource = ds.Tables[0]; gridViewDatos.Columns["Id_Horario"].HeaderText = "Id Horario"; gridViewDatos.Columns["HoraClase"].HeaderText = "Hora-Clase"; gridViewDatos.Columns["Dia_Semana"].HeaderText = "Dia Semana"; } else { muestraMensajeErrConexion(); } break; } bd.Dispose(); if (gridViewDatos.SelectedRows.Count > 0) { gridViewDatos.SelectedRows[0].Selected = false; } }
private bool validaDatosUnicosGrupo(int idModifica) { CBaseDatos db = new CBaseDatos(); int idGrupo = Convert.ToInt32(cbGrupos.SelectedValue); int idMateria = Convert.ToInt32(cbMateria.SelectedValue); int idHoraClase = Convert.ToInt32(cbHoraClase.SelectedValue); string cadenaDias = generaCadenaDias(); DataSet ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Grupo = " + idGrupo + "AND Id_Materia = " + idMateria + " AND Id_Horario != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { DataSet ds2 = db.consulta("SELECT Num_Horas_Clase FROM Horarios.Materia WHERE Id_Materia = " + idMateria); int numHoras = Convert.ToInt32(ds2.Tables[0].Rows[0][0]); int auxHoras = 0; int horasAsignar = cuentaDiasSemana(cadenaDias); foreach (DataRow r in ds.Tables[0].Rows) { auxHoras += cuentaDiasSemana(r["Dia_Semana"].ToString()); } if ((auxHoras + horasAsignar) > numHoras) { if (auxHoras == numHoras) { MessageBox.Show("El grupo ya tiene asignadas todas las horas de la materia, no se puede registrar", "Alta horario", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { MessageBox.Show("El grupo se pasa con " + ((auxHoras + horasAsignar) - numHoras) + " horas para esta materia, no se puede registrar", "Alta horario", MessageBoxButtons.OK, MessageBoxIcon.Warning); } db.Dispose(); return(false); } } else { DataSet ds2 = db.consulta("SELECT Num_Horas_Clase FROM Horarios.Materia WHERE Id_Materia = " + idMateria); int numHoras = Convert.ToInt32(ds2.Tables[0].Rows[0][0]); int horasAsignar = cuentaDiasSemana(cadenaDias); if (horasAsignar > numHoras) { MessageBox.Show("El grupo se pasa con " + (horasAsignar - numHoras) + " horas para esta materia, no se puede registrar", "Alta horario", MessageBoxButtons.OK, MessageBoxIcon.Warning); db.Dispose(); return(false); } } ds = db.consulta("SELECT * FROM Horarios.Horario WHERE Id_Grupo = " + idGrupo + " AND Id_Hora_Clase = " + idHoraClase + " AND Id_Horario != " + idModifica); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow r in ds.Tables[0].Rows) { if (!comparaDiasHoraClase(r["Dia_Semana"].ToString(), cadenaDias, true)) { db.Dispose(); return(false); } } } db.Dispose(); return(true); }