public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            ViewBag.roleId = roleId;
            var role = await roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"The Role with Id {roleId} can not be found";
                return(View("NotFound"));
            }
            var usersInRoleList = new List <UsersInRoleViewModel>();

            foreach (var user in userManager.Users)
            {
                var userInRoleModel = new UsersInRoleViewModel()
                {
                    UserId   = user.Id,
                    UserName = user.UserName
                };

                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    userInRoleModel.IsSelected = true;
                }
                else
                {
                    userInRoleModel.IsSelected = false;
                }
                usersInRoleList.Add(userInRoleModel);
            }

            return(View(usersInRoleList));
        }
Пример #2
0
        /// <summary>
        /// This method gives the list of User having grant on passed role.
        /// </summary>
        /// <param name="roleName"></param>
        /// <returns></returns>
        public virtual ActionResult UsersInRole(string roleName)
        {
            var query2 = from capability in RoleAreaCapability.Capabilities
                         where capability.RoleName == roleName
                         orderby capability.AreaName
                         select new UsersInRoleArea
            {
                AreaName   = capability.AreaName,
                Capability = capability.Purpose
            };

            var model = new UsersInRoleViewModel
            {
                RoleName = roleName,
                Areas    = query2,
                Users    = from name in Roles.GetUsersInRole(roleName)
                           orderby name
                           //let user = Membership.Provider.GetUser(name, false) as OracleMembershipUser
                           select new OracleUserModel
                {
                    UserName = name
                }
            };

            return(View(Views.UsersInRole, model));
        }
Пример #3
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            var role = await roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with Id = {roleId} cannot be found";
                return(View("NotFoundError"));
            }

            ViewBag.RoleId   = roleId;
            ViewBag.RoleName = role.Name;

            var model = new List <UsersInRoleViewModel>();

            foreach (var user in userManager.Users)
            {
                var userRoleViewModel = new UsersInRoleViewModel
                {
                    UserId     = user.Id,
                    UserName   = user.UserName,
                    IsSelected = await userManager.IsInRoleAsync(user, role.Name)
                };

                model.Add(userRoleViewModel);
            }
            return(View(model));
        }
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            ViewBag.roleId = roleId;

            var role = await _roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with Id = {roleId} cannot be found";
                return(View("NotFound"));
            }

            var modelList = new List <UsersInRoleViewModel>();

            foreach (var user in _userManager.Users)
            {
                var model = new UsersInRoleViewModel
                {
                    UserId   = user.Id,
                    UserName = user.UserName
                };

                model.IsSelected = await _userManager.IsInRoleAsync(user, role.Name) ? true : false;

                modelList.Add(model);
            }

            return(View(modelList));
        }
        public async Task <IEnumerable <UsersInRoleViewModel> > ListUsersInRoleAsync(string roleId, string roleName)
        {
            var result = new List <UsersInRoleViewModel>();

            foreach (var user in this.userManager.Users.ToList())
            {
                var model = new UsersInRoleViewModel();

                model.RoleId   = roleId;
                model.UserId   = user.Id;
                model.UserName = user.UserName;

                if (await this.userManager.IsInRoleAsync(user, roleName))
                {
                    model.IsSelected = true;
                }
                else
                {
                    model.IsSelected = false;
                }

                result.Add(model);
            }

            return(result);
        }
Пример #6
0
        public ActionResult UsersInRole(string id)
        {
            var role                    = RoleManager.FindById(id);
            var usersInRole             = role.Users.Where(o => o.RoleId == role.Id).ToList();
            List <ApplicationUser> list = new List <ApplicationUser>();

            foreach (var user in usersInRole)
            {
                list.Add(UserManager.FindById(user.UserId));
            }
            var usersViewModel = new UsersInRoleViewModel();

            usersViewModel.Role  = role;
            usersViewModel.Users = list;
            return(View(usersViewModel));
        }
Пример #7
0
        public async Task <ActionResult> Roles(string roleId, int page = 1)// todo can be added field for search
        {
            IQueryable <User> users = await _identityService.GetUsersInRoleAsync(roleId);

            UsersInRoleViewModel viewModel = new UsersInRoleViewModel
            {
                Users = _mapper.Map <IEnumerable <User>, IEnumerable <UserViewModel> >(
                    await users.OrderBy(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize).ToListAsync()
                    ),
                PagingInfo = new PagingInfo
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = await users.CountAsync()
                },
                RoleId = roleId
            };

            return(View(viewModel));
        }
Пример #8
0
 public virtual ActionResult RemoveUsersFromRole(UsersInRoleViewModel model)
 {
     //TC7 : Do not select any user from list and click remove button on Users in role view
     if (model.SelectedUsers == null || model.SelectedUsers.Length == 0)
     {
         ModelState.AddModelError("", string.Format("Select some users to revoke from role {0}", model.RoleName));
     }
     else
     {
         var roles = new[] { model.RoleName };
         try
         {
             Roles.Provider.RemoveUsersFromRoles(model.SelectedUsers, roles);
             AddStatusMessage(string.Format("{0} users removed successfully", model.SelectedUsers.Count()));
         }
         catch (ProviderException ex)
         {
             // Probably the role was unreasonable
             ModelState.AddModelError("", ex);
         }
     }
     return(RedirectToAction(Actions.UsersInRole(model.RoleName)));
 }