private void FrmHistorialDeCambios_Load(object sender, EventArgs e)
        {
            List <HistorialCalificacionSemestral> historial = ControladorAcreditacion.seleccionarHistorial(calificacion);

            if (historial.Count > 0)
            {
                configurarDGVHistorial(historial);
            }
            else
            {
                MessageBox.Show("No existen cambios para esta calificación", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }

            txtParcial1.Text = calificacion.calificacionParcial1.ToString();
            txtParcial2.Text = calificacion.calificacionParcial2.ToString();
            txtParcial3.Text = calificacion.calificacionParcial3.ToString();

            txtAsistencias1.Text = calificacion.asistenciasParcial1.ToString();
            txtAsistencias2.Text = calificacion.asistenciasParcial2.ToString();
            txtAsistencias3.Text = calificacion.asistenciasParcial3.ToString();

            txtDocente.Text  = calificacion.catedras.docentes.ToString();
            txtGrupo.Text    = calificacion.catedras.grupos.ToString();
            txtMateria.Text  = calificacion.catedras.materias.ToString();
            txtSemestre.Text = calificacion.catedras.grupos.semestres.ToString();

            lblTitulo.Text = "Historial de cambios - " + calificacion.estudiantes.ToString();
        }
示例#2
0
        private void cmdGuardar_Click(object sender, EventArgs e)
        {
            List <calificaciones_semestrales> calif = calificacionesDeDGV;

            ResultadoOperacion resultadoOperacion = ControladorAcreditacion.actualizarCalificaciones(calif, "Captura manual");

            ControladorVisual.mostrarMensaje(resultadoOperacion);
        }
示例#3
0
        // Métodos de eventos
        private void cmdImportar_Click(object sender, EventArgs e)
        {
            string html = webSiseems.Document.Body.InnerHtml;

            string[][] tabla = ControladorMiscelaneo.crearTablaDeHtml(html);

            List <calificaciones_semestrales> calificacionesSiseems = ControladorAcreditacion.crearListaCalificaciones(tabla, catedraActual.idCatedra, catedraActual);

            List <calificaciones_semestrales> calificacionesActuales = catedraActual.calificaciones_semestrales.ToList();

            new FrmDiferencias(calificacionesActuales, calificacionesSiseems, radioSeleccionado).ShowDialog();
        }
        // Métodos de eventos
        private void cmdImportar_Click(object sender, EventArgs e)
        {
            string html = webSiseems.Document.Body.InnerHtml;

            string[][] tabla = ControladorMiscelaneo.crearTablaDeHtml(html);

            List <calificaciones_semestrales> calificacionesSiseems = ControladorAcreditacion.crearListaCalificaciones(tabla, catedraActual.idCatedra, catedraActual);

            FrmAcreditacion frmAcreditacion = (FrmAcreditacion)Application.OpenForms["FrmAcreditacion"];

            new FrmDiferencias(frmAcreditacion.calificacionesDeDGV, calificacionesSiseems).ShowDialog();
            Close();
        }
示例#5
0
        public void cargarCatedras(object sender, EventArgs e)
        {
            grupos grupo = grupoSeleccionado;

            if (grupo != null)
            {
                List <catedras> listaCatedras = ControladorAcreditacion.seleccionarCatedras(grupo);

                comboAsignatura.DataSource = listaCatedras;
            }
            else
            {
                comboAsignatura.DataSource = null;
                cmdImportar.Enabled        = false;
                configurarDGVCalificaciones(null);
            }
        }
示例#6
0
        private void cmdGuardar_Click(object sender, EventArgs e)
        {
            // Obtenemos los estudiantes de todo el grupo
            IList <estudiantes> listaEstudiantes = ControladorAcreditacion.seleccionarEstudiantesRecursamiento(calificacionesCatedras);

            // Los registramos en la base de datos
            ResultadoOperacion resultadoOperacion = ControladorGrupos_Estudiantes.insertarEstudiantes(listaEstudiantes, grupo);

            //ControladorVisual.mostrarMensaje(resultadoOperacion);

            // Si el estudiante de la calificacion no existe en los alumnos del grupo, se agrega
            // automáticamente como recursamiento.
            foreach (IList <calificaciones_semestrales> listaCs in calificacionesCatedras)
            {
                foreach (calificaciones_semestrales cs in listaCs)
                {
                    estudiantes est = listaEstudiantes.FirstOrDefault(e1 => e1.ncontrol == cs.nControl);

                    if (est == null)
                    {
                        cs.recursamiento = true;
                        cs.verificado    = false;
                        MessageBox.Show(cs.estudiantes.ToString());
                    }
                    else
                    {
                        cs.verificado = true;
                    }
                }
            }

            // Aquí finalmente registramos las calificaciones
            int count = 0;

            foreach (IList <calificaciones_semestrales> listaCs in calificacionesCatedras)
            {
                ResultadoOperacion resultadoOperacion1 =
                    ControladorAcreditacion.
                    actualizarCalificacionesDesdeSiseems(listaCs, catedras[count++].ToString());

                ControladorVisual.mostrarMensaje(resultadoOperacion1);
            }
        }
示例#7
0
        // 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);
            }
        }
示例#8
0
        private void cmdGuardarDiferencias_Click(object sender, EventArgs e)
        {
            if (pos.HasValue)
            {
                FrmImportarCalificacionesM frm = (FrmImportarCalificacionesM)Application.OpenForms["FrmImportarCalificacionesM"];
                frm.agregarCalificaciones(pos.Value, calificacionesDeDGVSiseemsActualizables);
                Close();
            }
            else
            {
                ResultadoOperacion resultadoOperacion =
                    ControladorAcreditacion.
                    actualizarCalificacionesDesdeSiseems(
                        calificacionesDeDGVSiseemsActualizables);

                ControladorVisual.mostrarMensaje(resultadoOperacion);
                if (resultadoOperacion.estadoOperacion == EstadoOperacion.Correcto)
                {
                    Close();
                }
            }
        }
示例#9
0
        public void cargarAlumnos(object sender, EventArgs e)
        {
            catedras asignatura = asignaturaSeleccionada;

            if (asignatura != null)
            {
                List <calificaciones_semestrales>        listaCalificaciones        = ControladorAcreditacion.seleccionarCalificaciones(asignatura);
                BindingList <calificaciones_semestrales> listaCalificacionesBinding = new BindingList <calificaciones_semestrales>(listaCalificaciones);

                configurarDGVCalificaciones(listaCalificacionesBinding);
            }
            else
            {
                configurarDGVCalificaciones(null);
            }
        }
示例#10
0
        private void FrmAsignacionDeDocentes_Load(object sender, EventArgs e)
        {
            // Antes que nada, agregamos las cátedras que se mostrarán
            catedras = controladorGrupos.seleccionarCatedrasPorGrupo(grupo);

            // Si las catedras no existen, se le preguntará al usuario para que
            // se creen en ese momento
            if (catedras.Count == 0)
            {
                DialogResult dr =
                    MessageBox.Show(
                        "Las clases de este grupo no se han registrado aún. ¿Desea registrarlas ahora?",
                        "Aviso",
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Information);

                if (dr == DialogResult.Yes)
                {
                    ControladorAcreditacion.inicializarCatedras(grupo);

                    catedras = controladorGrupos.seleccionarCatedrasPorGrupo(grupo);
                }
            }

            // Mostramos el nombre del grupo en el Label rojo
            lblGrupo.Text = grupo.ToString();

            // Mostramos las propiedades del grupo en los Txts de arriba
            txtSemestre.Text     = grupo.semestres.ToString();
            txtEspecialidad.Text = grupo.carreras.ToString();
            txtGrado.Text        = grupo.semestre.ToString() + "° Semestre | Turno: " + grupo.turno;

            // Agregamos el DataSource del comboDocente MODELO
            comboDocentes.DataSource = ControladorSingleton.controladorDocentes.seleccionarDocentes();

            // Creamos la lista de Txts y Combos de las cátedras.
            txtsCatedras   = new List <TextBox>();
            combosDocentes = new List <ComboBox>();

            // Iteramos la lista de cátedras para mostrar de forma dinámica
            // los componentes de cada cátedra. Cada cátedra en la posición i
            // de la lista de cátedras, tendrá un un TextBox en la lista de TextBoxes
            // en la posición i. De igual forma, para los combos, tendrá un combo en la lista
            // de combos en la posición i.
            for (int i = 0; i < catedras.Count; i++)
            {
                // Creamos el textbox decidiendo qué tipo de cátedra es.
                TextBox txtNuevo =
                    ControladorVisual.clonarTextBox(
                        catedras[i].materias.componenteF.Contains("omplementari") ?
                        txtComplementarioM :
                        catedras[i].materias.idCarrera != 16 ?
                        txtEspecialidadM :
                        catedras[i].materias.propedeutica.Length >= 4 ?
                        txtPropedeuticoM : txtBasicoM
                        );
                // Creamos el combo de la cátedra.
                ComboBox comboNuevo = ControladorVisual.clonarCombo(comboDocentes);
                comboNuevo.MouseWheel += new MouseEventHandler(ControladorVisual.evitarScroll);

                // ESTO TAMBIEN ES FUNCIONAL, PERO LO CAMBIE POR EL
                // OPERADOR TERNARIO DE ARRIBA
                //if (catedras[i].materiaObj.idCarrera != 16)
                //{
                //    txtNuevo = ControladorVisual.clonarTextBox(txtEspecialidadM);
                //}
                //else if (catedras[i].materiaObj.propedeutica.Length >= 4)
                //{
                //    txtNuevo = ControladorVisual.clonarTextBox(txtPropedeuticoM);
                //}
                //else
                //{
                //    txtNuevo = ControladorVisual.clonarTextBox(txtBasicoM);
                //}

                // Calculamos la posición en la pantalla que tendrán los componentes.
                // VER EL LABEL OCULTO DEL FORMULARIO FrmAsignacionDeDocentes.cs
                txtNuevo.Location   = new Point(11, 129 + i * 48);
                comboNuevo.Location = new Point(302, 136 + i * 48);

                // Mostramos el nombre de la materia en el TextBox correspondiente.
                txtNuevo.Text = catedras[i].materias.ToString();
                // Agregamos una nueva lista al combo de la cátedra
                comboNuevo.DataSource = ((List <docentes>)comboDocentes.DataSource).ToList();

                // Agregamos el evento que mostrará qué docente está seleccionado para
                // qué materia. SÓLO DEBUGGING
                //comboNuevo.SelectedIndexChanged += comboDocentes_SelectedIndexChanged;

                // Agregamos los componentes a las listas
                txtsCatedras.Add(txtNuevo);
                combosDocentes.Add(comboNuevo);
            }

            // Se calcula el nuevo tamaño de la ventana y la posición del botón
            Height = 129 + (catedras.Count) * 48 + 87;

            Point p1 = new Point(
                cmdGuardar.Location.X,
                Height - 81
                );

            cmdGuardar.Location = p1;

            // Agregamos a la ventana los componentes que creamos
            Controls.AddRange(combosDocentes.ToArray());
            Controls.AddRange(txtsCatedras.ToArray());

            for (int i = 0; i < combosDocentes.Count; i++)
            {
                // Hacemos que el docente seleccionado sea el correspondiente de la cátedra
                combosDocentes[i].SelectedItem = catedras[i].docentes;
            }
        }