public IActionResult CreateAdmins() { var users = _userManager.Users.ToList(); var roles = _roleManager.Roles.ToList(); var admins = _userManager.GetUsersInRoleAsync("Admin"); var model = new AdminCreatorViewModel { User = users.Select(x => new SelectListItem() { Text = x.Email, Value = x.Email, Selected = false }), Roles = roles.Select(x => new SelectListItem() { Text = x.Name, Value = x.Name, Selected = false }), Admins = admins }; return(View(model)); }
public async Task <IActionResult> CreateAdmins(AdminCreatorViewModel user) { var findUser = _userManager.FindByIdAsync(user.Id); var person = await _userManager.FindByEmailAsync(user.Id); var getUser = _userManager.Users.FirstOrDefault(x => x.UserName == person.UserName); var getAllRoles = await _userManager.GetRolesAsync(person); //Tar bort alla befintliga roller på användaren för att inte få dubletter await _userManager.RemoveFromRolesAsync(person, getAllRoles); //Lägger till den nya rollen på användaren await _userManager.AddToRoleAsync(getUser, user.Role); await _signInManager.SignInAsync(getUser, false); _logger.LogInformation("User role updated"); return(RedirectToAction(nameof(Index))); }