Ejemplo n.º 1
0
        public async Task <IActionResult> ManageUserRoles(UseRoleDto model, int id)
        {
            var userId = id.ToString();

            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {userId} cannot be found";
                return(View("NotFound"));
            }

            var roles = await _userManager.GetRolesAsync(user);

            var result = await _userManager.RemoveFromRolesAsync(user, roles);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot remove user existing roles");
                return(View(model));
            }

            result = await _userManager.AddToRoleAsync(user, model.RoleName);

            if (!result.Succeeded)
            {
                ModelState.AddModelError("", "Cannot add selected roles to user");
                return(View(model));
            }

            return(RedirectToAction("Edit", new { Id = userId }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ManageUserRoles(int id)
        {
            ViewBag.userId = id;
            var userid = id.ToString();
            var user   = await _userManager.FindByIdAsync(userid);

            if (user == null)
            {
                ViewBag.ErrorMessage = $"User with Id = {userid} cannot be found";
                return(View("Not Found"));
            }

            var model = new List <UseRoleDto>();

            foreach (var role in _roleManager.Roles)
            {
                var userRoleDto = new UseRoleDto
                {
                    RoleId   = role.Id.ToString(),
                    RoleName = role.Name
                };

                if (await _userManager.IsInRoleAsync(user, role.Name))
                {
                    userRoleDto.IsSelected = true;
                }
                else
                {
                    userRoleDto.IsSelected = false;
                }

                model.Add(userRoleDto);
            }

            return(View(model));
        }