Esempio n. 1
0
        private bool validaDatos(int idModifica)
        {
            if (String.IsNullOrEmpty(txtCicloEscolar.Text) || String.IsNullOrWhiteSpace(txtCicloEscolar.Text))
            {
                MessageBox.Show("El ciclo escolar es obligatorio", "Datos Incompletos", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            if (String.IsNullOrEmpty(txtGrupo.Text) || String.IsNullOrWhiteSpace(txtGrupo.Text))
            {
                MessageBox.Show("El grupo es obligatorio", "Datos Incompletos", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }

            CBaseDatos db = new CBaseDatos();
            DataSet    ds = db.consulta("SELECT * FROM Horarios.Grupo WHERE Ciclo_Escolar = '" + txtCicloEscolar.Text + "' AND Semestre = " + numSemestre.Value + " AND Grupo = '" + txtGrupo.Text + "' AND Id_Grupo != " + idModifica);

            if (ds.Tables[0].Rows.Count > 0)
            {
                MessageBox.Show("El grupo que se intenta registrar ya existe", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                db.Dispose();
                return(false);
            }
            db.Dispose();

            return(true);
        }
Esempio n. 2
0
        private bool validaDuplicados(int idModifica)
        {
            String     horaIni = dtHoraInicio.Value.ToString("HH:mm");
            String     horaFin = dtHoraFin.Value.ToString("HH:mm");
            CBaseDatos db      = new CBaseDatos();
            DataSet    ds      = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio = '" + horaIni + "' AND Hora_Fin = '" + horaFin + "' AND Id_Hora_Clase != " + idModifica);

            if (ds.Tables[0].Rows.Count > 0)
            {
                MessageBox.Show("Ya existe una hora clase con las mismas horas de inicio y de fin", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                db.Dispose();
                return(false);
            }

            //Validaciones para horas entre horas ya registradas
            ds = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio < '" + horaIni + "' AND Hora_Fin > '" + horaIni + "' AND Id_Hora_Clase != " + idModifica);
            if (ds.Tables[0].Rows.Count > 0)
            {
                MessageBox.Show("La hora de inicio no puede estar entre otras horas clase ya registradas", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                db.Dispose();
                return(false);
            }

            ds = db.consulta("SELECT * FROM Horarios.Hora_Clase WHERE Hora_Inicio < '" + horaFin + "' AND Hora_Fin > '" + horaFin + "' AND Id_Hora_Clase != " + idModifica);
            if (ds.Tables[0].Rows.Count > 0)
            {
                MessageBox.Show("La hora de fin no puede estar entre horas clase ya registradas", "Datos duplicados", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                db.Dispose();
                return(false);
            }

            db.Dispose();
            return(true);
        }
Esempio n. 3
0
        private void agregaGruposTabla(String semestres, String anio)
        {
            CBaseDatos db    = new CBaseDatos();
            String     query = "SELECT CAST(G.Semestre AS VARCHAR(5)) + G.Grupo AS Grupo  ";

            query += "FROM Horarios.Grupo G ";
            query += "WHERE G.Ciclo_Escolar LIKE '%" + anio + "%' AND Semestre IN (" + semestres + ")";

            DataSet ds = db.consulta(query);

            if (ds != null)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    gridHorario.Columns.Add(dr["Grupo"].ToString(), dr["Grupo"].ToString());
                    gridHorario.Columns[dr["Grupo"].ToString()].SortMode = DataGridViewColumnSortMode.NotSortable;
                }
            }
            else
            {
                MessageBox.Show("Ha ocurrido un error en la conexión a la base de datos, por favor consulte al administrador del sistema", "Error en conexión a Base de Datos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.Close();
            }

            db.Dispose();
        }
        public void baja_Horario(int idHorario)
        {
            CBaseDatos db = new CBaseDatos();

            db.sql("DELETE FROM Horarios.Horario WHERE Id_Horario = " + idHorario);
            db.Dispose();
            limpiaControles();
        }
        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 cargaComboMaterias()
        {
            CBaseDatos bd = new CBaseDatos();
            DataSet    ds = bd.consulta("SELECT Id_Materia, Nombre  FROM Horarios.Materia");

            cbMateria.DataSource    = ds.Tables[0];
            cbMateria.ValueMember   = "Id_Materia";
            cbMateria.DisplayMember = "Nombre";
            bd.Dispose();
        }
Esempio n. 8
0
 public void modifica_HoraClase(int idHoraClase)
 {
     if (validaDatos(idHoraClase))
     {
         CBaseDatos db = new CBaseDatos();
         db.sql("UPDATE Horarios.Hora_Clase SET Hora_Inicio = '" + dtHoraInicio.Value.ToString("HH:mm") + "', Hora_Fin = '" + dtHoraFin.Value.ToString("HH:mm") + "' WHERE Id_Hora_Clase = " + idHoraClase);
         db.Dispose();
     }
     inicializaControles();
 }
Esempio n. 9
0
        private void cargaComboProfesores(String dia, String semestres, String anio)
        {
            CBaseDatos bd = new CBaseDatos();
            DataSet    ds = bd.consulta("SELECT Id_Profesor, Nombre  FROM Horarios.Profesor");

            cbProfesor.DataSource    = ds.Tables[0];
            cbProfesor.ValueMember   = "Id_Profesor";
            cbProfesor.DisplayMember = "Nombre";
            bd.Dispose();
        }
Esempio n. 10
0
 public void alta_Hora_Clase()
 {
     if (validaDatos(-1))
     {
         CBaseDatos db = new CBaseDatos();
         db.sql("INSERT INTO Horarios.Hora_Clase(Hora_Inicio, Hora_Fin) VALUES('" + dtHoraInicio.Value.ToString("HH:mm") + "', '" + dtHoraFin.Value.ToString("HH:mm") + "')");
         db.Dispose();
     }
     inicializaControles();
 }
 public void modifica_Profesor(int idProfesor)
 {
     if (validaDatos())
     {
         CBaseDatos db = new CBaseDatos();
         db.sql("UPDATE Horarios.Profesor SET Nombre = '" + txtNombre.Text + "', Direccion = '" + txtDireccion.Text + "', Telefono = '" + txtTelefono.Text + "', Fecha_Nacimiento = '" + dtFechaNac.Text + "',  RFC = '" + txtRFC.Text + "', Firma = '" + txtFirma.Text + "' WHERE Id_Profesor = " + idProfesor);
         db.Dispose();
     }
     inicializaControles();
 }
 public void alta_Profesor()
 {
     if (validaDatos())
     {
         CBaseDatos db = new CBaseDatos();
         db.sql("INSERT INTO Horarios.Profesor(Nombre, Direccion, Telefono, Fecha_Nacimiento, RFC, Firma) VALUES('" + txtNombre.Text + "' , '" + txtDireccion.Text + "', '" + txtTelefono.Text + "', '" + dtFechaNac.Text + "', '" + txtRFC.Text + "', '" + txtFirma.Text + "')");
         db.Dispose();
     }
     inicializaControles();
 }
        private void cargaComboHorasClase()
        {
            CBaseDatos bd = new CBaseDatos();
            DataSet    ds = bd.consulta("SELECT Id_Hora_Clase, CONVERT(varchar(10), Hora_Inicio, 100) + ' - ' + CONVERT(VARCHAR(10), Hora_Fin, 100) AS HORARIO FROM Horarios.Hora_Clase");

            cbHoraClase.DataSource    = ds.Tables[0];
            cbHoraClase.ValueMember   = "Id_Hora_Clase";
            cbHoraClase.DisplayMember = "HORARIO";
            bd.Dispose();
        }
 public void modifica_Horario(int idHorario)
 {
     if (validaDatos(idHorario))
     {
         String     diaSemana = generaCadenaDias();
         CBaseDatos db        = new CBaseDatos();
         db.sql("UPDATE Horarios.Horario SET Id_Hora_Clase = " + cbHoraClase.SelectedValue + ", Id_Grupo = " + cbGrupos.SelectedValue + ", Id_Materia = " + cbMateria.SelectedValue + ", Id_Profesor = " + cbProfesor.SelectedValue + ", Dia_Semana = '" + diaSemana + "' WHERE Id_Horario = " + idHorario);
         db.Dispose();
     }
     limpiaControles();
 }
 public void alta_Horario()
 {
     if (validaDatos(-1))
     {
         String     diaSemana = generaCadenaDias();
         CBaseDatos db        = new CBaseDatos();
         db.sql("INSERT INTO Horarios.Horario(Id_Hora_Clase, Id_Grupo, Id_Materia, Id_Profesor, Dia_Semana) VALUES(" + cbHoraClase.SelectedValue + ", " + cbGrupos.SelectedValue + ", " + cbMateria.SelectedValue + ", " + cbProfesor.SelectedValue + ", '" + diaSemana + "')");
         db.Dispose();
     }
     limpiaControles();
 }
Esempio n. 16
0
 private void btnRegistrar_Click(object sender, EventArgs e)
 {
     if (this.validaDatos())
     {
         string     fecha = DateTime.Now.ToString("dd/MM/yyyy");
         string     hora  = DateTime.Now.TimeOfDay.ToString();
         string     firma = this.txtFirma.Text;
         CBaseDatos db    = new CBaseDatos();
         db.sql("INSERT INTO ControlPagos.Registro_Asistencia(Id_Horario, Fecha, Hora, Firma) VALUES(" + idHorario + ", '" + fecha + "', '" + hora + "', '" + firma + "')");
         db.Dispose();
         MessageBox.Show("Se registró la asistencia con éxito", "Registro asistencia", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
 public void modifica_Materia(int idMateria)
 {
     if (validaDatos())
     {
         CBaseDatos   db    = new CBaseDatos();
         SqlException error = db.sql("UPDATE Horarios.Materia SET Nombre = '" + txtNombre.Text + "', Num_Horas_Clase = " + Convert.ToInt32(numHorasClase.Value) + " WHERE Id_Materia = " + idMateria);
         db.Dispose();
         if (error != null)
         {
             MessageBox.Show("Un nombre de materia no puede estar duplicado: " + txtNombre.Text, "Edición Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     inicializaControles();
 }
Esempio n. 18
0
 public void alta_Grupo()
 {
     if (validaDatos(-1))
     {
         CBaseDatos   db    = new CBaseDatos();
         SqlException error = db.sql("INSERT INTO Horarios.Grupo(Ciclo_Escolar, Semestre, Grupo) VALUES('" + txtCicloEscolar.Text + "', " + Convert.ToInt32(numSemestre.Value) + ", '" + txtGrupo.Text + "' )");
         db.Dispose();
         if (error != null)
         {
             MessageBox.Show("Por regla en base de datos el grupo solo puede ser A,B o C, favor de verificarlo", "Alta Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     inicializaControles();
 }
 public void alta_Materia()
 {
     if (validaDatos())
     {
         CBaseDatos   db    = new CBaseDatos();
         SqlException error = db.sql("INSERT INTO Horarios.Materia(Nombre, Num_Horas_Clase) VALUES('" + txtNombre.Text + "' , " + Convert.ToInt32(numHorasClase.Value) + ")");
         db.Dispose();
         if (error != null)
         {
             MessageBox.Show("No se puede insertar un nombre de materia duplicado: " + txtNombre.Text, "Alta Materia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     inicializaControles();
 }
Esempio n. 20
0
 public void modifica_Grupo(int idGrupo)
 {
     if (validaDatos(idGrupo))
     {
         CBaseDatos   db    = new CBaseDatos();
         SqlException error = db.sql("UPDATE Horarios.Grupo SET Ciclo_Escolar = '" + txtCicloEscolar.Text + "', Semestre = " + Convert.ToInt32(numSemestre.Value) + ", Grupo = '" + txtGrupo.Text + "' WHERE Id_Grupo = " + idGrupo);
         db.Dispose();
         if (error != null)
         {
             MessageBox.Show("Por regla en base de datos el grupo solo puede ser A,B o C, favor de verificarlo", "Edición Grupo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     inicializaControles();
 }
        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);
        }
Esempio n. 22
0
        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_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();
        }
Esempio n. 24
0
        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_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();
        }
Esempio n. 26
0
        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();
        }
Esempio n. 27
0
        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 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);
        }
        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;
            }
        }