/// <summary> /// Builds the by user verification. /// </summary> /// <param name="userVerification">The user verification.</param> /// <returns></returns> public IRegister BuildByUserVerification(IUserVerification userVerification) { Guard.ArgumentNotNull(userVerification, "userVerification"); var register = new Register { Identifier = userVerification.Identifier }; return register; }
public ActionResult Register(Register model) { Guard.ArgumentNotNull(model, "model"); Guard.ParameterGuidNotEmpty(model.Identifier, "identifier"); var userVerification = this.userVerificationService.GetUserInviteNotice(model.Identifier); if ((userVerification == null) || (userVerification.DateAccessed != null)) { //They probably came here manually... Send them back to home page return RedirectToAction("Index", "Home"); } if (ModelState.IsValid) { model.PersonId = userVerification.PersonId; var registerUserResult = this.registrationService.RegisterUser(model); if (registerUserResult.Success) { this.userVerificationService.UpdateUserInviteNotice(userVerification); //Log them in on success... var loginModel = new LoginUser { UserName = model.UserName, Password = model.Password, RememberMe = false }; return RedirectToAction("Login", "Account", new { model = loginModel, returnUrl = "" }); } if (registerUserResult.MembershipCreateStatus == MembershipCreateStatus.DuplicateUserName) { ModelState.AddModelError("", Messages.DuplicateUserName); return View("Register", model); } } return View("Register", model); }