public ActionResult CreateFirstAdmin(RegisterViewModel model) {
			RedirectIfUsersExist();

			if (ModelState.IsValid) {
				SignOut();

				SecurityData sd = new SecurityData();
				ApplicationUser user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

				ExtendedUserData exUser = null;
				var result = sd.CreateApplicationUser(user, model.Password, out exUser);

				if (result.Succeeded) {
					SecurityData.AddUserToRole(model.UserName, SecurityData.CMSGroup_Admins);
					SecurityData.AddUserToRole(model.UserName, SecurityData.CMSGroup_Users);

					return RedirectToAction("Index");
				}

				AddErrors(result);
			}

			Helper.HandleErrorDict(ModelState);
			return View(model);
		}
		public ActionResult UserAdd(RegisterViewModel model) {
			if (ModelState.IsValid) {
				SecurityData sd = new SecurityData();
				ApplicationUser user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

				ExtendedUserData exUser = null;
				var result = sd.CreateApplicationUser(user, model.Password, out exUser);

				if (result == IdentityResult.Success && exUser != null) {
					result = securityHelper.UserManager.SetLockoutEnabled(exUser.Id, true);

					return RedirectToAction("UserEdit", new { @id = exUser.UserId });
				}

				AddErrors(result);
			}

			Helper.HandleErrorDict(ModelState);
			return View(model);
		}
		public ActionResult CreateFirstAdmin() {
			RedirectIfUsersExist();

			if (SecurityData.IsAuthenticated) {
				SignOut();

				return RedirectToAction("CreateFirstAdmin", new { @signout = true });
			}

			RegisterViewModel model = new RegisterViewModel();

			return View(model);
		}
		public ActionResult CreateFirstAdmin(string returnUrl) {
			securityHelper.AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);

			DatabaseUpdate du = new DatabaseUpdate();
			if (du.UsersExist) {
				return RedirectToLocal("Index");
			}

			RegisterViewModel model = new RegisterViewModel();

			return View(model);
		}