public ActionResult NewUser(NewUserViewModel model) { if (IsAuthenticated) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { var currentUser = usersDAL.GetUser(model.Username); if (currentUser != null) { ModelState.AddModelError("Username", "This username is unavailable."); return(View("newUser", model)); } var hashProvider = new HashProvider(); var hashedPassword = hashProvider.HashPassword(model.Password); var salt = hashProvider.SaltValue; var newUser = new UserModel { Username = model.Username, Password = hashedPassword, Salt = salt }; usersDAL.RegisterNewUser(newUser); LogUserIn(model.Username); return(RedirectToAction("Index", "Home")); } return(View("NewUser", model)); }