public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.Controller.ViewBag.IsSuccessful = false; if (!filterContext.Controller.ViewData.ModelState.IsValid) { filterContext.Controller.ViewData.ModelState.AddModelError("", "Invalid user information"); filterContext.Controller.ViewBag.Error = "Invalid update information"; return; } var modelList = filterContext.ActionParameters.Where(ap => ap.Key == "model").ToList(); if (modelList.IsNullOrEmpty()) { filterContext.Controller.ViewData.ModelState.AddModelError("", "Invalid user information"); filterContext.Controller.ViewBag.Error = "Invalid update information"; return; } if (!modelList.Any() || modelList.Count != 1) { filterContext.Controller.ViewData.ModelState.AddModelError("", "Invalid user information"); filterContext.Controller.ViewBag.Error = "Invalid update information"; return; } var model = modelList[0].Value as ResetPasswordContract; if (model == null) { filterContext.Controller.ViewData.ModelState.AddModelError("", "Invalid user information"); filterContext.Controller.ViewBag.Error = "Invalid update information"; return; } var unlock = PortalUser.UnlockUser(model.UserName); if (unlock == null) { filterContext.Controller.ViewData.ModelState.AddModelError("", "Process Failed! Unable to unlock user"); filterContext.Controller.ViewBag.Error = "Process Failed! Unable to unlock user"; return; } if (!unlock.Status.IsSuccessful) { filterContext.Controller.ViewData.ModelState.AddModelError("", string.IsNullOrEmpty(unlock.Status.Message.FriendlyMessage) ? "Process Failed! Unable to update user's account" : unlock.Status.Message.FriendlyMessage); filterContext.Controller.ViewBag.Error = string.IsNullOrEmpty(unlock.Status.Message.FriendlyMessage) ? "Process Failed! Unable to update user's account" : unlock.Status.Message.FriendlyMessage; return; } filterContext.Controller.ViewBag.IsSuccessful = true;; base.OnActionExecuting(filterContext); }