public User BuildRegister(AccountRegisterViewModel viewModel)
 {
     if (viewModel == null)
     {
         throw new ArgumentNullException("viewModel");
     }
     if (!viewModel.Password.Equals(viewModel.PasswordConfirmation))
     {
         throw new ArgumentException("The passwords are not equal.");
     }
     var resultUser = new User(viewModel.Email);
     var resultProfile = new Profile(resultUser);
     resultUser.UserProfile = resultProfile;
     resultProfile.FirstName = viewModel.FirstName;
     resultProfile.LastName = viewModel.LastName;
     resultProfile.RegistrationDate = DateTime.UtcNow;
     resultProfile.LastSignIn = DateTime.UtcNow;
     resultProfile.LastSignOut = DateTime.UtcNow;
     resultProfile.IsSignedIn = true;
     resultUser.PasswordSalt =
         this._hashGenerator.GenerateSalt(User.MaxLengthFor.PasswordSalt);
     resultUser.PasswordHash = this._hashGenerator.GetPasswordHash(
         viewModel.Password,
         resultUser.PasswordSalt);
     return resultUser;
 }
        public ActionResult Register(AccountRegisterViewModel accountRegisterViewModel)
        {
            bool result = false;
            if (accountRegisterViewModel != null && this.ModelState.IsValid)
            {
                try
                {
                    User user = this._userAccountMapper.BuildRegister(accountRegisterViewModel);
                    this._membershipService.CreateUser(user);
                    this.SetAuthCookie(user);
                    result = true;
                }
                catch (Exception ex)
                {
                    this.ModelState.AddModelError(string.Empty, ex.Message);
                }
            }
            else
            {
                this.ModelState.AddModelError(string.Empty, Resources.Resources.OperationFailure);
            }

            if (result)
            {
                return this.Json(new { success = result });
            }

            return this.PartialView("_Register", accountRegisterViewModel);
        }
 public AccountRegisterViewModel BuildUser(User user)
 {
     if (user == null)
     {
         throw new ArgumentNullException("user");
     }
     var resultViewModel = new AccountRegisterViewModel();
     resultViewModel.Email = user.Email;
     if (user.UserProfile != null)
     {
         resultViewModel.FirstName = user.UserProfile.FirstName;
         resultViewModel.LastName = user.UserProfile.LastName;
     }
     return resultViewModel;
 }
        public ActionResult Register()
        {
            AccountRegisterViewModel accountRegisterViewModel;
            if (!this.Request.IsAuthenticated)
            {
                accountRegisterViewModel = new AccountRegisterViewModel();
            }
            else
            {
                return this.RedirectToAction("Index", "Home");
            }

            return this.PartialView("_Register", accountRegisterViewModel);
        }