public ActionResult CreateAccount(AuthCreateAccountForm form, string returnUrl) { Debug.WriteLine(string.Format("POST: Auth Controller: Create Account")); #region Check if Inputs are Valid if (!DB_users.ValidateUsername(form.Username)) { ModelState.AddModelError("Username", "Username is invalid"); } if (!DB_users.ValidateEmail(form.Email)) { ModelState.AddModelError("Email", "Email is invalid"); } //if (!DB_users.ValidatePassword(form.Password)) // ModelState.AddModelError("Password", "Password is invalid"); if (!ModelState.IsValid) { return(View(form)); } #endregion #region Check if Inputs have been Taken if (Database.Session.Query <DB_users>().FirstOrDefault(u => u.username == form.Username) != null) { ModelState.AddModelError("Username", "Username has already been taken"); } //if (Database.Session.Query<DB_users>().FirstOrDefault(u => u.email == form.Email) != null) // ModelState.AddModelError("Email", "Email has already been taken"); if (!ModelState.IsValid) { return(View(form)); } #endregion #region Create the Account and Login DB_users newUser = new DB_users(); newUser.SetUsername(form.Username); newUser.SetEmail(form.Email); newUser.SetPassword(form.Password); Database.Session.Save(newUser); FormsAuthentication.SetAuthCookie(newUser.username, true); #endregion if (!string.IsNullOrWhiteSpace(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToRoute("home")); }