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

            if (role == null)
            {
                ViewBag.ErrorMesage = $"Role with Id = {id} doesn't exist";
                return(View("NotFound"));
            }

            var model = new ManageRoleModel
            {
                Id       = role.Id,
                RoleName = role.Name
            };

            foreach (var user in _userManager.Users.ToList())
            {
                if (await _userManager.IsInRoleAsync(user, role.Name))
                {
                    model.Users.Add(user.UserName);
                }
            }
            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> EditRole(ManageRoleModel model)
        {
            var role = await _roleManager.FindByIdAsync(model.Id);

            if (role == null)
            {
                ViewBag.ErrorMessage = $"Role with Id = {model.Id} doesn't exists";
                return(View("NotFound"));
            }
            else
            {
                role.Name = model.RoleName;

                var result = await _roleManager.UpdateAsync(role);

                if (result.Succeeded)
                {
                    return(RedirectToAction("ManageRole"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }

                return(View(model));
            }
        }
コード例 #3
0
        public IActionResult ManageRole()
        {
            ManageRoleModel model = new ManageRoleModel
            {
                Roles = _roleManager.Roles.ToList()
            };

            return(View(model));
        }
コード例 #4
0
        public async Task <IActionResult> CreateRole(ManageRoleModel roleModel)
        {
            if (ModelState.IsValid)
            {
                IdentityRole role = new IdentityRole
                {
                    Name = roleModel.RoleName
                };
                IdentityResult result = await _roleManager.CreateAsync(role);

                if (result.Succeeded)
                {
                    return(RedirectToAction("ManageRole", "Manage"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }
            return(View(roleModel));
        }