public ActionResult Edit(User user, string action = null) { if (action == "cancel") { //Reset user profile with current user info user.Country = CurrentUser.Country; user.DisplayName = CurrentUser.DisplayName; } user.UserId = CurrentUserId; user.HasRegistered = true; _updateUser.Execute(user); var ticket = _formsAuthentication.GetAuthenticationTicket(HttpContext); if (ticket != null) { _formsAuthentication.SetAuthCookie(HttpContext, UserAuthenticationTicketBuilder.CreateAuthenticationTicket( user, ticket.IssueDate, ticket.IsPersistent)); } if (ModelState.IsValid || action == "cancel") { if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult((int)HttpStatusCode.OK, Messages.ProfileController_ProfileUpdated)); } if (action != "cancel") { this.SetConfirmationMessage(Messages.ProfileController_ProfileUpdated); } return(RedirectToAction("Index", "Dashboard")); } if (Request.IsAjaxRequest()) { return(new HttpStatusCodeResult((int)HttpStatusCode.BadRequest, Messages.ProfileController_InvalidData)); } return(SetupProfileForm(user)); }