private void txtBuscar_TextChanged(object sender, EventArgs e) { if (txtBuscar.Text == "") { cargarGrilla(); return; } if (cmbTipoUsuario.SelectedItem == null) { return; } string busqueda = txtBuscar.Text.ToUpper(); switch ((TipoUsuario)cmbTipoUsuario.SelectedItem) { case TipoUsuario.Estudiante: { List <UsuarioAlumno> lista = UsuariosAlumnos.FindAll(x => x.Usuario.Deshabilitado == false || chbDeshabilitados.Checked); lista = lista.FindAll(x => x.Alumno.Id.ToString().Contains(busqueda) || x.Alumno.ToString().ToUpper().Contains(busqueda) || x.Usuario.Nombre.ToUpper().Contains(busqueda) || x.Usuario.Contraseña.ToUpper().Contains(busqueda)); dgvGrilla.DataSource = lista; dgvGrilla.Columns[dgvGrilla.Columns.Count - 1].Visible = chbDeshabilitados.Checked; } break; case TipoUsuario.Docente: { List <UsuarioProfesor> lista = UsuariosProfesores.FindAll(x => x.Usuario.Deshabilitado == false || chbDeshabilitados.Checked); lista = lista.FindAll(x => x.Profesor.Id.ToString().Contains(busqueda) || x.Profesor.ToString().ToUpper().Contains(busqueda) || x.Usuario.Nombre.ToUpper().Contains(busqueda) || x.Usuario.Contraseña.ToUpper().Contains(busqueda)); dgvGrilla.DataSource = lista; dgvGrilla.Columns[dgvGrilla.Columns.Count - 1].Visible = chbDeshabilitados.Checked; } break; case TipoUsuario.Administrador: { List <Usuario> lista = Usuarios.FindAll(x => x.TipoUsuario == TipoUsuario.Administrador && (x.Deshabilitado == false || chbDeshabilitados.Checked)); lista = lista.FindAll(x => x.Nombre.ToUpper().Contains(busqueda) || x.Contraseña.ToUpper().Contains(busqueda)); dgvGrilla.DataSource = lista; dgvGrilla.Columns["Deshabilitado"].Visible = chbDeshabilitados.Checked; } break; } }
private void cargarGrilla() { if (cmbTipoUsuario.SelectedItem == null) { return; } UsuarioService s = new UsuarioService(); try { TipoUsuario tipo = (TipoUsuario)cmbTipoUsuario.SelectedItem; Usuarios = s.GetAll(); UsuariosAlumnos = s.GetAllAlumnos(); UsuariosProfesores = s.GetAllProfesores(); dgvGrilla.Columns.Clear(); dgvGrilla.DataSource = null; dgvGrilla.AutoGenerateColumns = false; switch (tipo) { case TipoUsuario.Estudiante: { dgvGrilla.DataSource = UsuariosAlumnos.FindAll(x => x.Alumno.Deshabilitado == false && (x.Usuario.Deshabilitado == false || chbDeshabilitados.Checked)) .OrderBy(x => x.Alumno.Id).ToList(); DataGridViewTextBoxColumn dgvc; dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Alumno.Id"; dgvc.HeaderText = "Legajo"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Alumno"; dgvc.HeaderText = "Alumno"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.Nombre"; dgvc.HeaderText = "Nombre de usuario"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.Contraseña"; dgvc.HeaderText = "Contraseña"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.TipoUsuario"; dgvc.HeaderText = "Tipo de usuario"; dgvGrilla.Columns.Add(dgvc); var checkBoxColumn = new DataGridViewCheckBoxColumn(); checkBoxColumn.DataPropertyName = "Usuario.Deshabilitado"; checkBoxColumn.HeaderText = "Deshabilitado"; checkBoxColumn.Visible = chbDeshabilitados.Checked; dgvGrilla.Columns.Add(checkBoxColumn); } break; case TipoUsuario.Docente: { dgvGrilla.DataSource = UsuariosProfesores.FindAll(x => x.Profesor.Deshabilitado == false && (x.Usuario.Deshabilitado == false || chbDeshabilitados.Checked)) .OrderBy(x => x.Profesor.Id).ToList(); DataGridViewTextBoxColumn dgvc; dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Profesor.Id"; dgvc.HeaderText = "Legajo"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Profesor"; dgvc.HeaderText = "Profesor"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.Nombre"; dgvc.HeaderText = "Nombre de usuario"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.Contraseña"; dgvc.HeaderText = "Contraseña"; dgvGrilla.Columns.Add(dgvc); dgvc = new DataGridViewTextBoxColumn(); dgvc.DataPropertyName = "Usuario.TipoUsuario"; dgvc.HeaderText = "Tipo de usuario"; dgvGrilla.Columns.Add(dgvc); var checkBoxColumn = new DataGridViewCheckBoxColumn(); checkBoxColumn.DataPropertyName = "Usuario.Deshabilitado"; checkBoxColumn.HeaderText = "Deshabilitado"; checkBoxColumn.Visible = chbDeshabilitados.Checked; dgvGrilla.Columns.Add(checkBoxColumn); } break; case TipoUsuario.Administrador: { dgvGrilla.AutoGenerateColumns = true; dgvGrilla.DataSource = Usuarios.FindAll(x => x.TipoUsuario == tipo && (x.Deshabilitado == false || chbDeshabilitados.Checked)); dgvGrilla.Columns["Id"].Visible = false; dgvGrilla.Columns["Nombre"].HeaderText = "Nombre de usuario"; dgvGrilla.Columns["TipoUsuario"].HeaderText = "Tipo de usuario"; dgvGrilla.Columns["Deshabilitado"].Visible = chbDeshabilitados.Checked; } break; } } catch (Exception ex) { CommonHelper.ShowError(ex.Message); } }