public ActionResult Create(UserInputModel userInputModel) { if (_session.Query <User>().Any(x => x.Username == userInputModel.Username)) { ModelState.AddModelError("Username", "Username is already in use"); } if (ModelState.IsValid) { var company = new Company(userInputModel.Username + " Co."); _session.Store(company); var user = new User( userInputModel.Username, Encryption.HashPassword(userInputModel.Password), new string[0], company); _session.Store(user); _authenticator.SetCookie(user.Id, false, user.Roles.ToArray()); return(RedirectToAction("Index", "Home")); } return(View("New", userInputModel)); }
public ActionResult UpdatePassword(UserUpdatePasswordModel model) { var user = _session.Load <User>(_executionContext.UserId); if (!Encryption.Verify(model.OldPassword, user.Password)) { ModelState.AddModelError("OldPassword", "Incorrect original password"); return(View("UpdatePassword", model)); } if (model.NewPassword != model.ConfirmNewPassword) { ModelState.AddModelError("ConfirmNewPassword", "New password confirmation incorrect"); return(View("UpdatePassword", model)); } user.ChangePassword(Encryption.HashPassword(model.NewPassword)); return(RedirectToAction("Index", "Home")); }