Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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)));
        }
Exemplo n.º 3
0
        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);
        }