public IActionResult NewUser() { var viewModel = new AdminNewUserViewModel(); viewModel.Roles = GetRolesListItems(); return(View(viewModel)); }
public IActionResult NewUser(AdminNewUserViewModel model) { if (_dbContext.Users.Any(u => u.Email == model.Email)) { ModelState.AddModelError("Email", "Denna mailadress är redan registrerad."); } if (ModelState.IsValid) { var user = new IdentityUser { UserName = model.UserName, Email = model.Email, EmailConfirmed = true, }; _dbContext.AddAsync(user); var roles = GetRoleName(model.SelectedRoleId); if (roles != null) { var r = _userManager.AddToRolesAsync(user, new[] { roles }).Result; } _dbContext.SaveChanges(); return(RedirectToAction("AllUsers")); } model.Roles = GetRolesListItems(); return(View(model)); }
/// <summary> /// Create user, action invoked by passing viewModel with ajax /// </summary> public ActionResult CreateUser(AdminNewUserViewModel newUser) { if (newUser.Name == null && newUser.Email == null) { return(Json(false)); } if (!_userService.UserExistsByUsername(newUser.Email)) { ApplicationUser userToBeCreated = new ApplicationUser { UserName = newUser.Email, Email = newUser.Email, FullName = newUser.Name }; if (_userService.CreateUser(userToBeCreated)) { if (newUser.Admin) { _userService.AddUserToRoleByUserId(userToBeCreated.Id, "Admin"); } return(Json(true)); } } return(Json(false)); }