Example #1
0
        public async Task <IActionResult> AddUserToRole(RoleManageUsersViewModel model)
        {
            //Find the user
            User user = await userManager.FindByIdAsync(model.UserId);

            if (user != null)
            {
                var result = await userManager.AddToRoleAsync(user, model.RoleName);

                if (result.Succeeded)
                {
                    return(RedirectToAction("ManageUsers", new { ID = model.RoleId }));
                }
            }
            TempData["ErrorMessage"] = "Unable to add the selected user.";
            return(RedirectToAction("ManageUsers", new { ID = model.RoleId }));
        }
Example #2
0
        public async Task <IActionResult> RemoveUserFromRole(RoleManageUsersViewModel model, string userId)
        {
            //Find User
            User user = await userManager.FindByIdAsync(userId);

            //If finding user was successful
            if (user != null)
            {
                var result = await userManager.RemoveFromRoleAsync(user, model.RoleName);

                if (result.Succeeded)
                {
                    return(RedirectToAction("ManageUsers", new { ID = model.RoleId }));
                }
            }
            TempData["ErrorMessage"] = "Unable to delete the selected user.";
            return(RedirectToAction("ManageUsers", new { ID = model.RoleId }));
        }
Example #3
0
        public async Task <IActionResult> ManageUsers(string id)
        {
            IdentityRole role = await roleManager.FindByIdAsync(id);

            RoleManageUsersViewModel model = new RoleManageUsersViewModel
            {
                RoleId         = role.Id,
                RoleName       = role.Name,
                AvailableUsers = userManager.Users.ToList()
            };

            foreach (User user in userManager.Users)
            {
                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    model.RoleUsers.Add(user);
                }
            }
            model.AvailableUsers = model.AvailableUsers.OrderBy(u => u.FullName).ToList();
            model.RoleUsers      = model.RoleUsers.OrderBy(r => r.FullName).ToList();

            return(View(model));
        }