public virtual ActionResult SignUp(ProfileForm model) { if (ModelState.IsValid) { var isNoSignUpUser = AuthenticationHelper.IsNoSignUpUser; User user; if (isNoSignUpUser) { user = AuthenticationHelper.CurrentUser; Mapper.Map(model, user); Repository.User.TransformNoSignUpAccount(user); AuthenticationHelper.Authenticate(user.Email); } else if (Repository.User.FindByEmail(model.EmailForm.Email) != null) { user = Repository.User.FindByEmail(model.EmailForm.Email); Mapper.Map(model, user); Repository.User.TransformNoSignUpAccount(user); AuthenticationHelper.Authenticate(user.Email); } else { user = Mapper.Map<User>(model); Repository.User.Add(user); Repository.User.AddEmailConfigurationDefaultValue(user); } var recommendation = Repository.Recommendation.FindByRecommenderEmail(model.EmailForm.Email); if (recommendation != null) { recommendation.Recommender = user; Repository.Recommendation.Update(recommendation); } Flash.Success(Resources.Account.AccountCreated); Email.Send<ActivationEmail>(user); EventLog.Event<UserRegisteredEvent>(user); if (isNoSignUpUser) return RedirectToAction(MVC.StaticPages.Home()); return RedirectToAction(MVC.Account.SignIn()); } return View(model); }
public virtual ActionResult SignUp() { if (AuthenticationHelper.IsNoSignUpUser) { var email = AuthenticationHelper.CurrentUser.Email; var model = new ProfileForm { EmailForm = new EmailForm { Email = email } }; return View(model); } return View(); }