public ConfigViewHolder() { List <string> PerfilesString = new List <string>(); ListaPerfiles = new List <Perfil>(); ListaEnfasis = new List <Enfasis>(); PerfilesSeleccionables = new List <SelectListItem>(); using (var context = new DataIntegradorEntities()) { var listaPerfiles = from Perfil in db.PerfilesXUsuario(CurrentUser.getUsername()) select Perfil; foreach (var nombrePerfil in listaPerfiles) { PerfilesString.Add(nombrePerfil.NombrePefil); } foreach (string NombrePerfil in PerfilesString) { ListaPerfiles.Add(db.Perfil.Find(NombrePerfil)); PerfilesSeleccionables.Add(new SelectListItem() { Text = NombrePerfil }); } } Carrera carrera = db.Carrera.Find(CurrentUser.getUserMajorId()); this.NombreCarrera = carrera.Nombre; Enfasis enfasis = db.Enfasis.Find(CurrentUser.getUserMajorId(), CurrentUser.getUserEmphasisId()); this.NombreEnfasis = enfasis.Nombre; }
public PermissionsViewHolder() { List <Perfil> perfiles = db.Perfil.ToList(); this.Perfiles = new List <PerfilCodigo>(); int count = 0; foreach (Perfil perfil in perfiles) { this.Perfiles.Add(new PerfilCodigo(perfil.Nombre, count++)); } List <Carrera> CarrerasUsuario = new List <Carrera>(); List <Enfasis> EnfasisUsuario = new List <Enfasis>(); using (var context = new DataIntegradorEntities()) { /*TAM-11.1: En la página de administración de permisos y perfiles solo se muestran las carreras y énfasis en las que el usuario tiene postestad, en los dropdowns.*/ var tuplas = from Dato in db.CarrerasYEnfasisXUsuarioXPerfil(CurrentUser.getUsername(), CurrentUser.getUserProfile()) select Dato; foreach (var tupla in tuplas) { Carrera carrera = new Carrera { Codigo = tupla.CodCarrera, Nombre = tupla.NombreCarrera }; if (!CarrerasUsuario.Contains(carrera) && ( permissionManager.IsAllowed(CurrentUser.getUsername(), CurrentUser.getUserProfile(), carrera.Codigo, Permission.ASIGNAR_PERFILES_USUARIOS) || permissionManager.IsAllowed(CurrentUser.getUsername(), CurrentUser.getUserProfile(), carrera.Codigo, Permission.ASIGNAR_PERMISOS_PERFILES))) { CarrerasUsuario.Add(carrera); } Enfasis enfasis = new Enfasis { CodCarrera = tupla.CodCarrera, Codigo = tupla.CodEnfasis, Nombre = tupla.NombreEnfasis }; if (!EnfasisUsuario.Contains(enfasis) && ( permissionManager.IsAllowed(CurrentUser.getUsername(), CurrentUser.getUserProfile(), carrera.Codigo, enfasis.Codigo, Permission.ASIGNAR_PERFILES_USUARIOS) || permissionManager.IsAllowed(CurrentUser.getUsername(), CurrentUser.getUserProfile(), carrera.Codigo, enfasis.Codigo, Permission.ASIGNAR_PERMISOS_PERFILES))) { EnfasisUsuario.Add(enfasis); } } } this.Carreras = CarrerasUsuario.Distinct(new ComparadorCarreras()).ToList(); this.EnfasisView = EnfasisUsuario.Distinct(new ComparadorEnfasis()).ToList(); this.Permisos = db.Permiso.ToList(); foreach (Permiso permiso in this.Permisos) { permiso.ActiveInProfileEmph = false; } /*Lista todas las personas en la base de datos del sistema, ordenadas por apellidos y luego por nombres.*/ /*El usuario [email protected] no se muestra para que no se pueda quitar permisos él mismo. Por defecto ya * tiene todos los permisos disponibles.*/ this.Personas = db.Persona.Where(item => !item.Borrado && item.Correo != "*****@*****.**"). OrderBy(item => item.Apellido1). ThenBy(item => item.Apellido2). ThenBy(item => item.Nombre1). ThenBy(item => item.Nombre2). ToList(); ObjectParameter resultado = new ObjectParameter("resultado", typeof(bool)); List <Persona> personasEliminadas = new List <Persona>(); foreach (Persona persona in this.Personas) { persona.HasProfileInEmph = false; } this.ListaCarreras = GetCarreras(); this.ListaPermisos = GetPermisos(); this.ListaEnfasis = GetEnfasis(); this.ListaPerfiles = GetPerfiles(); this.ListaPersonas = GetPersonas(); this.ConcatenarNombresPersonas(); }