private void CargarTablaPerfiles(string Nombre, string Descripcion) { // Reiniciar contenidos del DataGridView GridPerfil.DataSource = null; GridPerfil.Rows.Clear(); GridPerfil.Refresh(); IEnumerable<EPerfil> infoPerfiles = new PerfilNeg().ConsultarPerfiles(Nombre, Descripcion); GridPerfil.DataSource = infoPerfiles.ToList(); for (int i = 0; i < GridPerfil.Columns.Count; i++) { switch (i) { case 1: break; case 2: break; case 3: break; default: GridPerfil.Columns[i].Visible = false; break; } } // Configurar nombres de columnas GridPerfil.Columns[1].HeaderText = "Nombre"; GridPerfil.Columns[2].HeaderText = "Descripción"; GridPerfil.Columns[3].HeaderText = "Cantidad de usuarios"; // Configurar alineación de columnas especiales GridPerfil.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; // Mostrar subrayado si el usuario dispone del permiso Ver Detalles if (sesion.permisos.VerDetallesPerfil) GridPerfil.Columns[1].DefaultCellStyle.Font = new Font(Font, FontStyle.Underline); }
/// <summary> /// Registrar un perfil si la validación resulta exitosa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRegistrar_Click(object sender, EventArgs e) { try { if (sesion.permisos.RegistrarPerfil) { EPerfil nuevo = new EPerfil(); nuevo.Nombre = txtbNombre.Text; nuevo.Descripcion = txtbDescripcion.Text; nuevo.RegistrarPerfil = NdAgregarPerfil.Checked; nuevo.EliminarPerfil = NdEliminarPerfil.Checked; nuevo.ModificarPerfil = NdModificarPerfil.Checked; nuevo.VerDetallesPerfil = NdVerDetallesPerfil.Checked; nuevo.RegistrarUsuario = NdAgregarUsuario.Checked; nuevo.EliminarUsuario = NdEliminarUsuario.Checked; nuevo.ModificarUsuario = NdModificarUsuario.Checked; nuevo.VerDetallesUsuario = NdVerDetallesUsuario.Checked; nuevo.VerBitacora = NdVerDetallesBitacora.Checked; nuevo.RegistrarOferta = NdRegistrarOferta.Checked; nuevo.EliminarOferta = NdEliminarOferta.Checked; nuevo.ModificarOferta = NdModificarOferta.Checked; nuevo.VerDetallesOferta = NdVerDetallesOferta.Checked; nuevo.CambiarEstadoOferta = NdCambiarEstOferta.Checked; nuevo.RegistrarCurso = NdRegistrarCurso.Checked; nuevo.EliminarCurso = NdEliminarCurso.Checked; nuevo.ModificarCurso = NdModificarCurso.Checked; nuevo.VerDetallesCurso = NdVerDetallesCurso.Checked; nuevo.CambiarEstadoCurso = NdCambiarEstCurso.Checked; nuevo.MatriculaPres = NdMatriculaPres.Checked; nuevo.CambiarEstadoPart = NdCambiarEstPart.Checked; nuevo.ImprimirComprobante = NdImpComprobante.Checked; // Verificar si el nombre no se repite en la base de datos bool noEstaRepetido = true; DataView perfExistentes = new PerfilNeg().CargarListaPerfiles(); foreach (DataRowView dvr in perfExistentes) { if (dvr["Perfil"].Equals(nuevo.Nombre)) { noEstaRepetido = false; } } if (nuevo.ValidarDatos() && noEstaRepetido) { if (new PerfilNeg().RegistrarPerfil(nuevo)) { MessageBox.Show("El perfil '" + nuevo.Nombre + "' se registró " + "exitosamente.", "Éxito"); this.Close(); } } else { MessageBox.Show("Se ha presentado un error al registrar el perfil.", "Error"); } } else { MessageBox.Show("No se pudo registrar el perfil.", "Error"); } } catch (Exception ex) { MainForm.NotificarExcepcion("CU CON003", ex); } }
/// <summary> /// Actualizar datos de la sesión actual por si el usuario ha cambiado /// detalles de su propia cuenta /// </summary> public static void EstablecerSesion() { try { ESesion nSesion = new ESesion(); List<string> datosUser = new UsuarioNeg().CargarUsuario(sesion.Login); DataRow permConfUser = new PerfilNeg().CargarPerfil(int.Parse(datosUser[6])); nSesion.DefinirSesion(datosUser, permConfUser); sesion = nSesion; } catch (Exception ex) { NotificarExcepcion("Actualizar sesión", ex); } }
/// <summary> /// Cargar datos actualizados de perfiles /// </summary> /// <param name="Nombre"></param> /// <param name="Descripcion"></param> private void CargarTablaPerfiles(string Nombre, string Descripcion) { try { // Reiniciar contenidos del DataGridView GridPerfil.DataSource = null; GridPerfil.Rows.Clear(); GridPerfil.Refresh(); DataView infoPerfiles = new PerfilNeg().ConsultarPerfiles(Nombre, Descripcion); GridPerfil.DataSource = infoPerfiles; // Configurar alineación de columnas especiales GridPerfil.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; GridPerfil.Columns[3].Visible = false; // Mostrar subrayado si el usuario dispone del permiso Ver Detalles if (sesion.permisos.VerDetallesPerfil) GridPerfil.Columns[0].DefaultCellStyle.Font = new Font(Font, FontStyle.Underline); } catch (Exception ex) { MainForm.NotificarExcepcion("CU CON001", ex); } }