コード例 #1
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            IdentityRole role = await _roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                return(NotFound());
            }

            ViewBag.RoleId = roleId;

            List <EditUsersInRoleViewModel> view_model_list = new List <EditUsersInRoleViewModel>();
            List <AppUser> users = _userManager.Users.ToList();

            foreach (var user in users)
            {
                EditUsersInRoleViewModel view_model = new EditUsersInRoleViewModel
                {
                    UserId   = user.Id,
                    UserName = user.UserName,
                };

                view_model.isSelected = await _userManager.IsInRoleAsync(user, role.Name);

                view_model_list.Add(view_model);
            }

            return(View(view_model_list));
        }
コード例 #2
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            ViewBag.roleId = roleId;

            var role = await roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                ViewBag.Message = $"Role with this Id = {roleId} not found!";
                return(View("NotFound"));
            }
            var model = new List <EditUsersInRoleViewModel>();

            foreach (var user in userManager.Users)
            {
                var editUserInrolesViewMdole = new EditUsersInRoleViewModel
                {
                    UserId   = user.Id,
                    UserName = user.UserName
                };
                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    editUserInrolesViewMdole.IsSelected = true;
                }
                else
                {
                    editUserInrolesViewMdole.IsSelected = false;
                }
                model.Add(editUserInrolesViewMdole);
            }
            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> EditUsersInRole(EditUsersInRoleViewModel model)
        {
            IdentityRole role = await roleManager.FindByIdAsync(model.RoleId);

            if (role == null)
            {
                return(RoleNotFound(model.RoleId));
            }

            for (int i = 0; i < model.Users.Count; i++)
            {
                UserInRoleViewModel currentUser = model.Users[i];
                ApplicationUser     user        = await userManager.FindByIdAsync(currentUser.Id);

                bool isCurrentlyInRole = await userManager.IsInRoleAsync(user, role.Name);

                if (currentUser.IsRoleSelected && !isCurrentlyInRole)
                {
                    await userManager.AddToRoleAsync(user, role.Name);
                }
                else if (!currentUser.IsRoleSelected && isCurrentlyInRole)
                {
                    await userManager.RemoveFromRoleAsync(user, role.Name);
                }
            }

            return(RedirectToAction("editrole", new { role.Id }));
        }
コード例 #4
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            IdentityRole role = await roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                return(RoleNotFound(roleId));
            }

            var model = new EditUsersInRoleViewModel()
            {
                RoleId = role.Id
            };

            List <ApplicationUser> users = await userManager.Users.ToListAsync();

            foreach (ApplicationUser user in users)
            {
                var userInRole = new UserInRoleViewModel
                {
                    Id   = user.Id,
                    Name = user.UserName
                };

                if (await userManager.IsInRoleAsync(user, role.Name))
                {
                    userInRole.IsRoleSelected = true;
                }

                model.Users.Add(userInRole);
            }

            return(View(model));
        }
コード例 #5
0
        public async Task <IActionResult> EditUsersInRole(string roleId)
        {
            var role = await this.roleManager.FindByIdAsync(roleId);

            var model = new EditUsersInRoleViewModel
            {
                RoleName = role.Name,
                Users    = await this.administrationService.ListUsersInRoleAsync(roleId, role.Name),
            };

            return(this.View(model));
        }