protected void BuscaUsuario() { try { IUsuarios negocio = new BusinessLogic(); USUARIO userSesion = Session["userToModify"] as USUARIO; USUARIO usuario = negocio.BuscaUsuarioRol(userSesion.NOMBRECOMPLETO); lblNombreUsuario.Text = userSesion.NOMBRECOMPLETO; List<ROL> roles = Session["Roles"] as List<ROL>; ListItemCollection collection = new ListItemCollection(); ListItem item = null; if (usuario == null) { collection.Clear(); foreach (ListItem valor in rblPerfiles.Items) { item = new ListItem { Text=valor.Text,Value=valor.Value}; collection.Add(item); } rblPerfiles.Items.Clear(); foreach (ListItem valor in collection) rblPerfiles.Items.Add(valor); throw new Exception("Usuario no encontrado"); } Session.Add("UsuarioBuscado", usuario); collection.Clear(); usuario.ROLUSUARIO.ToList().OrderBy(rol => rol.IDROL).ToList().ForEach(rolSelected => { roles.OrderBy(rol => rol.IDROL).ToList().ForEach(rol => { if (rol.IDROL == rolSelected.IDROL) { item = new ListItem { Text = rol.DESCRIPCIONROL, Value = rol.IDROL.ToString(), Selected = true }; } else { item = new ListItem { Text = rol.DESCRIPCIONROL, Value = rol.IDROL.ToString() }; } if(!collection.Contains(item)) collection.Add(item); }); }); if (collection.Count > 0) { rblPerfiles.Items.Clear(); foreach (ListItem valor in collection) rblPerfiles.Items.Add(valor); } } catch (Exception ex) { MostrarError(ex.Message); } }