public FrmModificarGrupo(grupos grupo, semestres semestreDefault) { InitializeComponent(); this.grupo = grupo; this.semestreDefault = semestreDefault; }
// SELECTS public static List <grupos> seleccionarGrupos( semestres periodo, string turno, int semestre, carreras carrera ) { // Código necesario para los métodos que // utilicen la base de datos CBTis123_Entities dbContext = Vinculo_DB.generarContexto(); List <grupos> listaGrupos = new List <grupos>(); try { turno = turno.ToUpper()[0].ToString(); listaGrupos = dbContext.grupos.Where( g => g.idSemestre == periodo.idSemestre && g.turno == turno && g.semestre == semestre && g.idCarrera == carrera.idCarrera ).ToList(); } catch (Exception e) { ControladorVisual.mostrarMensaje(ControladorExcepciones.crearResultadoOperacionException(e)); } return(listaGrupos); }
public List <grupos> seleccionarGrupos(semestres s) { // Creamos lista vacía en caso de Excepcion List <grupos> listaGrupos = new List <grupos>(); // Intentamos realizar la operación. Si hubo algún error, // el controlador visual mostrará el mensaje correspondiente. try { CBTis123_Entities db = Vinculo_DB.generarContexto(); listaGrupos = db.grupos.Where(g => g.idSemestre == s.idSemestre). OrderBy(g => g.semestre). ThenBy(g => g.turno). ThenBy(g => g.especialidad). ThenBy(g => g.letra). ToList(); } catch (MySqlException e) { ControladorVisual.mostrarMensaje(ControladorExcepciones.crearResultadoOperacionMySqlException(e)); } catch (Exception e) { ControladorVisual.mostrarMensaje(ControladorExcepciones.crearResultadoOperacionException(e)); } // Devolvemos resultado return(listaGrupos); }
public ResultadoOperacion eliminarSemestre(semestres s) { CBTis123_Entities db = Vinculo_DB.generarContexto(); // Validamos que no tenga grupos dependientes if (db.grupos.Where(g => g.idSemestre == s.idSemestre).Count() > 0) { return (new ResultadoOperacion( EstadoOperacion.ErrorDependenciaDeDatos, "El semestre contiene grupos")); } ResultadoOperacion innerRO = null; int eliminado = 0; // Si hay algún error durante la ejecución de la operación // se devolverá el respectivo resultado de operación. try { s = db.semestres.Single(s1 => s1.idSemestre == s.idSemestre); db.semestres.Remove(s); eliminado = db.SaveChanges(); } catch (MySqlException e) { innerRO = ControladorExcepciones.crearResultadoOperacionMySqlException(e); } catch (Exception e) { innerRO = ControladorExcepciones.crearResultadoOperacionException(e); } // Si no hubo problema, se devolverá el resultado correspondiente. return (eliminado > 0 ? new ResultadoOperacion( EstadoOperacion.Correcto, "Semestre eliminado") : new ResultadoOperacion( EstadoOperacion.NingunResultado, "Semestre no eliminado", null, innerRO)); }
// Métodos de evento public void cargarGrupos(object sender, EventArgs e) { semestres periodo = periodoSeleccionado; string turno = turnoSeleccionado; int semestre = semestreSeleccionado; carreras carrera = carreraSeleccionada; if ( periodo != null && turno != "" && semestre > 0 && carrera != null ) { List <grupos> listaGrupos = ControladorAcreditacion. seleccionarGrupos( periodo, turno, semestre, carrera); comboGrupo.DataSource = listaGrupos; if (listaGrupos.Count == 0) { comboGrupo.DataSource = null; comboAsignatura.DataSource = null; cmdImportar.Enabled = false; configurarDGVCalificaciones(null); } } else { comboGrupo.DataSource = null; comboAsignatura.DataSource = null; cmdImportar.Enabled = false; configurarDGVCalificaciones(null); } }
public FrmModificarSemestre(semestres semestre) { InitializeComponent(); this.semestre = semestre; }
public static string[][] matricularSemestre(semestres s) { // Preparamos el contexto CBTis123_Entities db = Vinculo_DB.generarContexto(); // Lista que contendrá todos los grupos. List <grupos> listaGruposOriginal = new List <grupos>(); // Arreglo de listas que contendrán // los grupos clasificados por grado List <grupos>[] arrGruposPorGrado = new List <grupos> [8]; for (int i = 0; i < arrGruposPorGrado.Length; i++) { arrGruposPorGrado[i] = new List <grupos>(); } // Arreglo de la matrícula de todos los grupos. string[][] matriculaSemestral = null; int totalHombresM = 0; int totalHombresV = 0; int totalMujeresM = 0; int totalMujeresV = 0; int totalGruposM = 0; int totalGruposV = 0; try { // Obtenemos todos los grupos listaGruposOriginal = db.grupos.Where( g => g.idSemestre == s.idSemestre ).ToList(); // El 13 es por los 4 posibles grados que puede // haber simultáneamente en un semestre. // Uno es una línea de espacio. El otro es una // línea para información general del grado // También, por las 4 líneas finales de totales. matriculaSemestral = new string[listaGruposOriginal.Count + 13][]; // Los clasificamos según el grado, a la posición del arreglo foreach (grupos g in listaGruposOriginal) { arrGruposPorGrado[g.semestre - 1].Add(g); } // Contador de posición en la matrícula [i][] int i = 0; // Iteramos sobre todos los grados. foreach (List <grupos> lista in arrGruposPorGrado) { if (lista.Count == 0) { continue; } // Primero, los ordenamos según la matrícula oficial List <grupos> listaAux = lista.OrderBy( g => g.especialidad ).ThenBy( g => g.turno ).ThenBy( g => g.letra ).ToList(); // Luego declaramos los datos extra int gruposM = 0; int gruposV = 0; int hombresM = 0; int hombresV = 0; int mujeresM = 0; int mujeresV = 0; int totalM = 0; int totalV = 0; // Iteramos sobre todos los grupos de un grado específico. // El resultado de la matriculación de ese grupo será añadido // al arreglo de la matrícula semestral. foreach (grupos g in listaAux) { string[] matriculaGrupo = matricularGrupo(g); matriculaSemestral[i] = matriculaGrupo; i++; // Se realizan cálculos extra para los datos extra if (g.turno.ToUpper() == "M") { gruposM++; hombresM += Convert.ToInt32(matriculaGrupo[4]); mujeresM += Convert.ToInt32(matriculaGrupo[5]); totalM += Convert.ToInt32(matriculaGrupo[6]); } if (g.turno.ToUpper() == "V") { gruposV++; hombresV += Convert.ToInt32(matriculaGrupo[4]); mujeresV += Convert.ToInt32(matriculaGrupo[5]); totalV += Convert.ToInt32(matriculaGrupo[6]); } } // Se deja un espacio al final de todos los grupos de tal grado. // Se rellena con datos extras. matriculaSemestral[i] = new string[7]; matriculaSemestral[i][2] = listaAux.Count.ToString() + " grupos"; matriculaSemestral[i][3] = gruposM.ToString(); matriculaSemestral[i][4] = hombresM.ToString(); matriculaSemestral[i][5] = mujeresM.ToString(); matriculaSemestral[i][6] = totalM.ToString(); i++; matriculaSemestral[i] = new string[8]; matriculaSemestral[i][3] = gruposV.ToString(); matriculaSemestral[i][4] = hombresV.ToString(); matriculaSemestral[i][5] = mujeresV.ToString(); matriculaSemestral[i][6] = totalV.ToString(); matriculaSemestral[i][7] = (totalM + totalV).ToString(); i++; matriculaSemestral[i] = new string[1]; i++; totalHombresM += hombresM; totalHombresV += hombresV; totalMujeresM += mujeresM; totalMujeresV += mujeresV; totalGruposM += gruposM; totalGruposV += gruposV; } int totalAlumnosM = totalHombresM + totalMujeresM; int totalAlumnosV = totalHombresV + totalMujeresV; string[] lineaTotal1 = new string[8]; string[] lineaTotal2 = new string[8]; string[] lineaTotal3 = new string[8]; lineaTotal1[1] = "Totales"; lineaTotal1[2] = "TM"; lineaTotal1[3] = totalGruposM.ToString(); lineaTotal1[4] = totalHombresM.ToString(); lineaTotal1[5] = totalMujeresM.ToString(); lineaTotal1[6] = totalAlumnosM.ToString(); lineaTotal2[7] = (totalAlumnosM + totalAlumnosV).ToString(); lineaTotal2[2] = "TV"; lineaTotal2[3] = totalGruposV.ToString(); lineaTotal2[4] = totalHombresV.ToString(); lineaTotal2[5] = totalMujeresV.ToString(); lineaTotal2[6] = totalAlumnosV.ToString(); lineaTotal3[3] = (totalGruposM + totalGruposV).ToString(); lineaTotal3[4] = (totalHombresM + totalHombresV).ToString(); lineaTotal3[5] = (totalMujeresM + totalMujeresV).ToString(); lineaTotal3[6] = (totalAlumnosM + totalAlumnosV).ToString(); int pos = matriculaSemestral.Length - 1; matriculaSemestral[pos - 3] = new string[0]; matriculaSemestral[pos - 2] = lineaTotal1; matriculaSemestral[pos - 1] = lineaTotal2; matriculaSemestral[pos] = lineaTotal3; } catch (Exception e) { ControladorVisual.mostrarMensaje( ControladorExcepciones.crearResultadoOperacionException(e) ); } return(matriculaSemestral); }
public FrmNuevoGrupo(semestres semestreDefault) { InitializeComponent(); this.semestreDefault = semestreDefault; }
public ResultadoOperacion modificarGrupo( int idGrupo, int idSemestre, int semestre, string letra, string turno, string especialidad, semestres semestreObj, carreras especialidadObj ) { // Verificamos que los datos introducidos // sean válidos para la base de datos. if ( !ValidadorDeTexto.esValido(letra) || !ValidadorDeTexto.esValido(turno) || !ValidadorDeTexto.esValido(especialidad) ) { // Devolvemos un error si es que no son válidos. return(new ResultadoOperacion( EstadoOperacion.ErrorDatosIncorrectos, "No utilice caracteres especiales o inválidos")); } ResultadoOperacion innerRO = null; int modificado = 0; // Si hay algún error durante la ejecución de la operación // se devolverá el respectivo resultado de operación. try { CBTis123_Entities db = Vinculo_DB.generarContexto(); grupos g = db.grupos.Single(g1 => g1.idGrupo == idGrupo); g.especialidad = especialidadObj.abreviatura; g.idCarrera = especialidadObj.idCarrera; g.idSemestre = semestreObj.idSemestre; g.letra = letra; g.semestre = semestre; g.turno = turno[0].ToString().ToUpper(); modificado = db.SaveChanges(); } catch (MySqlException e) { innerRO = ControladorExcepciones.crearResultadoOperacionMySqlException(e); } catch (Exception e) { innerRO = ControladorExcepciones.crearResultadoOperacionException(e); } // Si no hubo problema, se devolverá el resultado correspondiente. return (modificado > 0 ? new ResultadoOperacion( EstadoOperacion.Correcto, "Grupo modificado") : new ResultadoOperacion( EstadoOperacion.ErrorAplicacion, "Grupo no modificado", null, innerRO)); }
// Modificación public ResultadoOperacion modificarSemestre( int idSemestre, string nombre, string nombreCorto, string nombreCorto2, string nombreCorto3, DateTime fechai_p1, DateTime fechaf_p1, DateTime fechai_p2, DateTime fechaf_p2, DateTime fechai_p3, DateTime fechaf_p3 ) { // Verificamos que los datos introducidos // sean válidos para la base de datos. if ( !ValidadorDeTexto.esValido(nombre) || !ValidadorDeTexto.esValido(nombreCorto) || !ValidadorDeTexto.esValido(nombreCorto2) || !ValidadorDeTexto.esValido(nombreCorto3) || fechaf_p1 < fechai_p1 || fechai_p2 <= fechaf_p1 || fechaf_p2 < fechai_p2 || fechai_p3 <= fechaf_p2 || fechaf_p3 < fechai_p3 ) { // Devolvemos un error si es que no son válidos. return(new ResultadoOperacion( EstadoOperacion.ErrorDatosIncorrectos, "No utilice caracteres especiales o inválidos. Verifique sus fechas.")); } CBTis123_Entities dbContext = Vinculo_DB.generarContexto(); ResultadoOperacion innerRO = null; int modificado = 0; // Si hay algún error durante la ejecución de la operación // se devolverá el respectivo resultado de operación. try { semestres s = dbContext.semestres.Single(s1 => s1.idSemestre == idSemestre); s.nombre = nombre; s.nombrecorto = nombreCorto; s.nombrecorto2 = nombreCorto2; s.nombrecorto3 = nombreCorto3; s.fechaf_p1 = fechaf_p1; s.fechaf_p2 = fechaf_p2; s.fechaf_p3 = fechaf_p3; s.fechai_p1 = fechai_p1; s.fechai_p2 = fechai_p2; s.fechai_p3 = fechai_p3; modificado = dbContext.SaveChanges(); } catch (MySqlException e) { innerRO = ControladorExcepciones.crearResultadoOperacionMySqlException(e); } catch (Exception e) { innerRO = ControladorExcepciones.crearResultadoOperacionException(e); } // Si no hubo problema, se devolverá el resultado correspondiente. return (modificado > 0 ? new ResultadoOperacion( EstadoOperacion.Correcto, "Semestre modificado") : new ResultadoOperacion( EstadoOperacion.NingunResultado, "Semestre no modificado", null, innerRO)); }