public ActionResult New([Bind(Include = "LoginId,Password,EmailAddress,FirstName,LastName")] CreateAdministratorModel createAdministrator) { if (createAdministrator == null) { createAdministrator = new CreateAdministratorModel(); } try { // Look for errors. createAdministrator.Validate(); // Create the login. CreateAdministrator(createAdministrator); // Get ready to create another. return(RedirectToRouteWithConfirmation(AdministratorsRoutes.New, null, HttpUtility.HtmlEncode("The account for " + createAdministrator.FirstName + " " + createAdministrator.LastName + " has been created."))); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(View(createAdministrator)); }
public IActionResult PostCreateAdministrator(CreateAdministratorModel model) { var adminUserExists = _applicationState.Get <bool>("AdminUserExists"); if (!adminUserExists) { _applicationState.Set("AdminUserExists", true); var(status, userList) = _handler.HandleUserCreateRequest(new UserCreateRequest { UserName = model.Username, Password = model.Password, UserRole = UserRole.Administrator }); if (status is Failure) { _applicationState.Set("AdminUserExists", false); TempData[TempDataKeys.ErrorMessageString] = "Could not create administrator."; TempData[TempDataKeys.Environment] = this._hostingEnvironment.EnvironmentName; return(RedirectToAction(nameof(Error))); } } else { TempData["AdminUserExistsAlready"] = true; } return(RedirectToAction(nameof(Index))); }
private void CreateAdministrator(CreateAdministratorModel model) { var administrator = new Administrator { EmailAddress = new EmailAddress { Address = model.EmailAddress, IsVerified = true }, FirstName = model.FirstName, LastName = model.LastName, }; var credentials = new LoginCredentials { LoginId = model.LoginId, PasswordHash = LoginCredentials.HashToString(model.Password), }; // Create the account. _administratorAccountsCommand.CreateAdministrator(administrator, credentials); }