public virtual ActionResult ChangePassword(ChangePasswordViewModel model) { if (ModelState.IsValid) { var result = new ExecutionResults(); var user = new User { UserID = SecurityContextManager.CurrentIdentity.Ticket.UserSession.UserID, Name = model.UserName, PasswordHash = model.ConfirmPassword }; if (UserManager.UpdateUser(user, model.OldPassword, Request.UserHostAddress, result)) { //success if (this.IsJsonRequest()) return Json(new { success = true }); return RedirectToAction(MVC.Account.ChangePasswordSuccess()); } //failed business layer rules if (this.IsJsonRequest()) return Json(new { success = false, message = result.ToHtmlString() }); for (int e = 0; e < result.Messages.Count; e++) { ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), result.Messages[e].Message); } return View(model); } if (this.IsJsonRequest()) return Json(new { success = false, errors = ModelState.ToJson() }); return View(model); //modelstate already populated }
public virtual ActionResult CheckAliasIsAvailable(string alias) { if (alias == SecurityContextManager.CurrentIdentity.Name) return Json(new { success = true, message = "This is your current sign in alias." }); var result = new ExecutionResults(); if (!UserManager.ValidateName(alias, result)) return Json(new { success = false, message = result.ToHtmlString() }); var user = UserManager.GetUserByName(alias); return Json(new { success = (user == null), message = (User == null) ? "This name is available" : "This name is not available. Choose another name." }); }
/// <summary> /// Combines the results of another ExecutionResults into this instance. /// </summary> /// <param name="results">The results to be combined.</param> public void Combine(ExecutionResults results) { if (results == null) { throw new ArgumentNullException("results"); } if (results == this) { return; } for (int i = 0; i < results.messages_.Count; i++) { ExecutionStep step = results.messages_[i]; this.messages_.Add(step); if (step.StepType == ExecutionStepType.Error) { this.success_ = false; } } }
/// <summary> /// Combines the results of another ExecutionResults into this instance. /// </summary> /// <param name="results">The results to be combined.</param> public void Combine( ExecutionResults results ) { if (results == null) throw new ArgumentNullException("results"); if (results == this) return; for (int i = 0; i < results.messages_.Count; i++) { ExecutionStep step = results.messages_[i]; this.messages_.Add(step); if (step.StepType == ExecutionStepType.Error) this.success_ = false; } }
public virtual ActionResult ForgotPassword(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var result = new ExecutionResults(); ProviderResolver<UserNotificationProvider>.Get.Provider.NotifyPasswordReset(model.UserName, result); if (this.IsJsonRequest()) return Json(new { success = result.Success, message = result.ToHtmlString() }); if (result.Success) return RedirectToAction(MVC.Account.Login()); for (var e = 0; e < result.Messages.Count; e++) { ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), result.Messages[e].Message); } return View(model); } if (this.IsJsonRequest()) return Json(new { success = false, errors = ModelState.ToJson() }); return View(model); //modelstate already populated }
public virtual ActionResult Register(RegisterViewModel model, string returnUrl) { if (ModelState.IsValid) { var results = new ExecutionResults(); var user = model.ToUser(); var identity = UserManager.RegisterUser(user, UserSessionDurationType.Extended, Request.UserHostAddress, results); if (results.Success) { //successful registration SecurityContextManager.CurrentUser = new UserPrincipal(identity); return RedirectToLocal(returnUrl); } //failed business layer results.AppendError("Failed to complete registration."); for (var e = 0; e < results.Messages.Count; e++) { ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), results.Messages[e].Message); } } //failed data annotation validations model.Load(); return View(model); }
public virtual ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var result = new ExecutionResults(); var id = UserManager.AuthenticateUser(model.UserName, model.Password, model.RememberMe ? UserSessionDurationType.Extended : UserSessionDurationType.PublicComputer, Request.UserHostAddress, result); if (id.IsAuthenticated && result.Success) { //login successful SecurityContextManager.CurrentUser = new UserPrincipal(id); return RedirectToLocal(returnUrl); } //failed business layer validations for (var e = result.Messages.Count - 1; e >= 0; e--) { ModelState.AddModelError(e.ToString(CultureInfo.InvariantCulture), result.Messages[e].Message); } } // failed data annotation validations return View(model); }