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()); }
// 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; } } }
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); }