Exemple #1
0
        public async Task <IActionResult> AddToRole(AddDeleteUserToRoleFormViewModel model)
        {
            var user = await this.userManager
                       .FindByIdAsync(model.UserId);

            var roleExists = await this.roleManager
                             .RoleExistsAsync(model.Role);

            var userExists = user != null;

            if (!roleExists || !userExists)
            {
                ModelState.AddModelError(string.Empty, "Invalid Idenity details.");
            }

            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }

            await this.userManager.AddToRoleAsync(user, model.Role);

            TempData.AddSuccessMessage($"User {user.UserName} successfully added to {model.Role} role.");

            return(RedirectToAction(nameof(Index)));
        }
Exemple #2
0
        public async Task <IActionResult> DestroyRole(AddDeleteUserToRoleFormViewModel model)
        {
            var user = await this.userManager
                       .FindByIdAsync(model.UserId);

            var roleExists = await this.roleManager
                             .RoleExistsAsync(model.Role);

            var userExists = user != null;

            if (!roleExists || !userExists)
            {
                ModelState.AddModelError(string.Empty, "Invalid Idenity details.");
            }

            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(Index)));
            }

            var result = await this.userManager
                         .RemoveFromRoleAsync(user, model.Role);

            if (result.Succeeded)
            {
                TempData.AddSuccessMessage($"User {user.UserName} successfully deleted '{ model.Role}' role.");

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                AddModelErrors(result);

                return(View(model));
            }
        }