private void button5_Click(object sender, EventArgs e)
        {
            string html = System.IO.File.ReadAllText(@"C:\Users\angel\Desktop\Prueba.html");

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

            StringBuilder nuevaCadena = new StringBuilder();

            bool flag = true;

            for (int i = 0; i < tabla.Length; i++)
            {
                for (int j = 0; j < tabla[i].Length; j++)
                {
                    if (flag)
                    {
                        DialogResult dr = MessageBox.Show(i + "," + j + "\n" + tabla[i][j], "LOL", MessageBoxButtons.OKCancel);
                        flag = dr == DialogResult.OK;
                    }

                    nuevaCadena.Append(tabla[i][j]);
                    nuevaCadena.Append("   ");
                }
                nuevaCadena.Append((char)13);
                nuevaCadena.Append((char)10);
                nuevaCadena.Append((char)13);
                nuevaCadena.Append((char)10);
            }

            System.IO.File.WriteAllText(@"C:\Users\angel\Desktop\Resultado.txt", nuevaCadena.ToString());
        }
Ejemplo n.º 2
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();
        }
        private void cmdLeerExcel_Click(object sender, EventArgs e)
        {
            string dir = @"C:\Users\angel\Dropbox\Documentos\Important Stuff\Pwd.xlsx";

            string[][][] arr = ControladorMiscelaneo.leerExcel(dir);

            foreach (string[][] arr1 in arr)
            {
                string str = "";
                for (int i = 0; i < arr1.Length; i++)
                {
                    for (int j = 0; j < arr1[i].Length; j++)
                    {
                        str += arr1[i][j] + "  --|--  ";
                    }
                    str += "\n\n";
                }

                MessageBox.Show(str);
            }
        }
        // Métodos de eventos
        private void cmdIngresar_Click(object sender, EventArgs e)
        {
            if (ControladorMiscelaneo.validarVersion() == true)
            {
                ResultadoOperacion inicioDeSesion = ControladorSesion.iniciarSesion(txtUsuario.Text, txtContrasena.Text);

                switch (inicioDeSesion.estadoOperacion)
                {
                case EstadoOperacion.Correcto:
                    txtUsuario.Focus();
                    txtContrasena.Text = "";

                    Hide();
                    new FrmPrincipal().Show();
                    break;

                default:
                    ControladorVisual.mostrarMensaje(inicioDeSesion);
                    break;
                }
            }
        }
Ejemplo n.º 6
0
        private void configurarDGVCalificacionesSiseems(BindingList <calificaciones_semestrales> listaCalificacionesBinding)
        {
            // Si la colección es originalmente nula, o vacía, salimos.
            if (listaCalificacionesBinding == null || listaCalificacionesBinding.Count < 1)
            {
                dgvCalificacionesSiseems.DataSource = null;
                dgvCalificacionesSiseems.Columns["tipoDeAcreditacion1"].Visible = false;
                dgvCalificacionesSiseems.Columns["actualizar"].Visible          = false;

                return;
            }

            // Ordenamos la binding list...
            listaCalificacionesBinding = new BindingList <calificaciones_semestrales>(
                listaCalificacionesBinding.
                OrderBy(
                    c =>
                    c.estudiantes.apellido1 +
                    c.estudiantes.apellido2 +
                    c.estudiantes.nombres).
                ToList()
                );

            // Agregamos todos los datos al dgv
            dgvCalificacionesSiseems.DataSource = listaCalificacionesBinding;

            // Ahora, obtenemos la colección de columnas...
            DataGridViewColumnCollection columnas = dgvCalificacionesSiseems.Columns;

            // Iteramos sobre todas las columnas para hacerlas invisibles
            // y de sólo lectura
            foreach (DataGridViewColumn c in columnas)
            {
                c.Visible  = false;
                c.ReadOnly = true;
            }

            // Volvemos editable la columna de actualizar
            columnas["actualizar"].ReadOnly = false;

            // Itero sobre las filas para agregar algunas cosas
            int i = 0;

            foreach (DataGridViewRow row in dgvCalificacionesSiseems.Rows)
            {
                // Primero, el número de lista
                row.HeaderCell.Value = String.Format("{0}", row.Index + 1);

                calificaciones_semestrales cFila = ((calificaciones_semestrales)row.DataBoundItem);

                // Segundo, el color de fondo para mostrar a los de recursamiento
                // (Probablemente en este DGV nunca se muestren)
                if (cFila.recursamiento)
                {
                    row.DefaultCellStyle.BackColor = Color.LightGreen;
                }

                // Tercero, seleccionamos el tipo de acreditación
                // A NP NA RV R
                DataGridViewComboBoxCell cell = (DataGridViewComboBoxCell)row.Cells["tipoDeAcreditacion1"];
                cell.Value = listaCalificacionesBinding[i].tipoDeAcreditacion;
                i++;



                // ESTO ES ADICIONAL PARA RESALTAR LAS DIFERENCIAS
                calificaciones_semestrales cEquivalente = calificacionesActuales.SingleOrDefault(c => c.idEstudiante == cFila.idEstudiante);
                // -- Ya existen, pero las calificaciones son diferentes (LIGHT BLUE)
                // -- Además de que se pone como default el valor TRUE para actualizar
                // -- y los botones se desactivarán
                if (cEquivalente != null)
                {
                    encontrados++;
                    bool flag = false;


                    if (ControladorMiscelaneo.compararNullableDouble(cFila.calificacionParcial1, cEquivalente.calificacionParcial1) != 0)
                    {
                        flag = true;

                        row.Cells["calificacionParcial1"].Style.BackColor = colorDiferenciasResaltado;
                    }

                    if (ControladorMiscelaneo.compararNullableDouble(cFila.calificacionParcial2, cEquivalente.calificacionParcial2) != 0)
                    {
                        flag = true;

                        row.Cells["calificacionParcial2"].Style.BackColor = colorDiferenciasResaltado;
                    }


                    if (ControladorMiscelaneo.compararNullableDouble(cFila.calificacionParcial3, cEquivalente.calificacionParcial3) != 0)
                    {
                        flag = true;

                        row.Cells["calificacionParcial3"].Style.BackColor = colorDiferenciasResaltado;
                    }



                    if (ControladorMiscelaneo.compararNullableDouble(cFila.asistenciasParcial1, cEquivalente.asistenciasParcial1) != 0)
                    {
                        flag = true;

                        row.Cells["asistenciasParcial1"].Style.BackColor = colorDiferenciasResaltado;
                    }

                    if (ControladorMiscelaneo.compararNullableDouble(cFila.asistenciasParcial2, cEquivalente.asistenciasParcial2) != 0)
                    {
                        flag = true;

                        row.Cells["asistenciasParcial2"].Style.BackColor = colorDiferenciasResaltado;
                    }

                    if (ControladorMiscelaneo.compararNullableDouble(cFila.asistenciasParcial3, cEquivalente.asistenciasParcial3) != 0)
                    {
                        flag = true;

                        row.Cells["asistenciasParcial3"].Style.BackColor = colorDiferenciasResaltado;
                    }



                    if (cFila.tipoDeAcreditacion != cEquivalente.tipoDeAcreditacion)
                    {
                        flag = true;

                        row.Cells["tipoDeAcreditacion"].Style.BackColor = colorDiferenciasResaltado;
                    }

                    if (cFila.firmado != cEquivalente.firmado)
                    {
                        flag = true;

                        row.Cells["firmado"].Style.BackColor = colorDiferenciasResaltado;
                    }



                    if (flag)
                    {
                        diferencias++;

                        row.DefaultCellStyle.BackColor = colorDiferencias;
                        row.Cells["actualizar"].Value  = true;

                        cmdGuardarDiferencias.Enabled = true;
                        cmdSeleccionarNinguno.Enabled = true;
                        cmdSeleccionarTodos.Enabled   = true;
                    }
                    // -- Si no, entonces no se pondrá color, y se hará inactualizable
                    // -- tal registro, y los botones se desactivarán
                    else
                    {
                        row.Cells["actualizar"].Value    = false;
                        row.Cells["actualizar"].ReadOnly = true;

                        cmdGuardarDiferencias.Enabled = true;
                        cmdSeleccionarNinguno.Enabled = true;
                        cmdSeleccionarTodos.Enabled   = true;
                    }
                }
                // -- No existe en nuestro registro (LIGHT RED)
                else
                {
                    if (cFila.idEstudiante != -1)
                    {
                        noEncontradosGrupo++;

                        row.DefaultCellStyle.BackColor = colorNoEncontradosGrupo;
                    }
                    else
                    {
                        noEncontradosDB++;

                        row.DefaultCellStyle.BackColor = colorNoEncontradosDB;
                    }

                    row.Cells["recursamiento"].Value = false;
                    row.Cells["actualizar"].Value    = true;
                    row.Cells["verificado"].Value    = false;
                }
            }

            // Muestro únicamente las que me interesan
            columnas["actualizar"].Visible           = true;
            columnas["nControl"].Visible             = true;
            columnas["calificacionParcial1"].Visible = true;
            columnas["calificacionParcial2"].Visible = true;
            columnas["calificacionParcial3"].Visible = true;
            columnas["asistenciasParcial1"].Visible  = true;
            columnas["asistenciasParcial2"].Visible  = true;
            columnas["asistenciasParcial3"].Visible  = true;
            columnas["tipoDeAcreditacion"].Visible   = false;
            columnas["tipoDeAcreditacion1"].Visible  = true;
            columnas["firmado"].Visible            = true;
            columnas["estudiantes"].Visible        = true;
            columnas["promedio"].Visible           = true;
            columnas["asistenciasTotales"].Visible = true;

            // Cambio el título
            columnas["nControl"].HeaderText             = "Núm. control";
            columnas["calificacionParcial1"].HeaderText = "Cal. P1";
            columnas["calificacionParcial2"].HeaderText = "Cal. P2";
            columnas["calificacionParcial3"].HeaderText = "Cal. P3";
            columnas["asistenciasParcial1"].HeaderText  = "Asis. P1";
            columnas["asistenciasParcial2"].HeaderText  = "Asis. P2";
            columnas["asistenciasParcial3"].HeaderText  = "Asis. P3";
            columnas["tipoDeAcreditacion"].HeaderText   = "Tipo de Acreditación";
            columnas["tipoDeAcreditacion1"].HeaderText  = "Tipo de Acreditación (Combo)";
            columnas["firmado"].HeaderText            = "Firmado";
            columnas["estudiantes"].HeaderText        = "Estudiante";
            columnas["promedio"].HeaderText           = "Promedio";
            columnas["asistenciasTotales"].HeaderText = "Asistencias totales";

            // Las muestro en un orden particular
            int intOrden = 0;

            columnas["actualizar"].DisplayIndex           = intOrden++;
            columnas["nControl"].DisplayIndex             = intOrden++;
            columnas["estudiantes"].DisplayIndex          = intOrden++;
            columnas["calificacionParcial1"].DisplayIndex = intOrden++;
            columnas["calificacionParcial2"].DisplayIndex = intOrden++;
            columnas["calificacionParcial3"].DisplayIndex = intOrden++;
            columnas["asistenciasParcial1"].DisplayIndex  = intOrden++;
            columnas["asistenciasParcial2"].DisplayIndex  = intOrden++;
            columnas["asistenciasParcial3"].DisplayIndex  = intOrden++;
            columnas["promedio"].DisplayIndex             = intOrden++;
            columnas["asistenciasTotales"].DisplayIndex   = intOrden++;
            columnas["tipoDeAcreditacion"].DisplayIndex   = intOrden++;
            columnas["tipoDeAcreditacion1"].DisplayIndex  = intOrden++;
            columnas["firmado"].DisplayIndex = intOrden++;

            // Y finalmente, le doy formato a las columnas de calificaciones,
            // para que sólo acepten dos decimales, y otras cosas más...
            columnas["calificacionParcial1"].DefaultCellStyle.Format = "N2";
            columnas["calificacionParcial2"].DefaultCellStyle.Format = "N2";
            columnas["calificacionParcial3"].DefaultCellStyle.Format = "N2";
            columnas["promedio"].DefaultCellStyle.Format             = "N2";

            // Construcción del resumen
            lblEncontrados.Text        = "Se encontraron " + encontrados + " alumno(s) pertenecientes al grupo.";
            lblDiferencias.Text        = diferencias + " alumnos tienen diferencias en sus calificaciones.";
            lblNoEncontradosGrupo.Text = noEncontradosGrupo + " alumnos no pertenecen al grupo.";
            lblNoEncontradosDB.Text    = noEncontradosDB + " alumnos no se encuentran en la base de datos.";

            // Si las diferencias y los alumnos no pertenecientes son 0
            // entonces deshabilitamos el botón de guardar diferencias
        }
 private void cmdMatricula_Click(object sender, EventArgs e)
 {
     string[][] matricula = ControladorMiscelaneo.matricularSemestre(semestreSeleccionado);
     ControladorMiscelaneo.mostrarExcel(matricula);
 }