public async Task <IHttpActionResult> ChangePassword(HSKR.Identity.ChangePasswordBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } IdentityResult result = await UserManager.ChangePasswordAsync(long.Parse(User.Identity.GetUserId()), model.OldPassword, model.NewPassword); if (!result.Succeeded) { return(NotFound()); } return(Ok()); }
public ResponseResult ChangePass(HSKR.Identity.ChangePasswordBindingModel model) { try { if (!model.NewPassword.Trim().Equals(model.ConfirmPassword.Trim())) { var data = new Response <UserViewModel> { Message = HttpMessage.CHANGE_PASS_OLD_PASS, Data = null, Status = false }; ActionContext.Response.StatusCode = HttpStatusCode.Redirect; return(new ResponseResult(data, ActionContext)); } var user = userManager.Find(model.UserName, model.OldPassword); if (user == null) { var data = new Response <UserViewModel> { Message = HttpMessage.CHANGE_PASS_WRONG_ACC, Data = null, Status = false }; ActionContext.Response.StatusCode = HttpStatusCode.Redirect; return(new ResponseResult(data, ActionContext)); } var result = JObject.Parse(user.ToJson()); var userId = result["id"]; var changePassResult = userManager.ChangePasswordAsync(long.Parse(userId.ToString()), model.OldPassword, model.NewPassword.Trim()); if (!changePassResult.Result.Succeeded) { var repon = new Response <UserViewModel> { Message = changePassResult.Result.Errors.ToJson(), Status = false, }; ActionContext.Response.StatusCode = HttpStatusCode.InternalServerError; return(new ResponseResult(repon, ActionContext)); } var userResponse = new Response <UserViewModel> { Message = "Change password success", Status = true, }; return(new ResponseResult(userResponse, ActionContext)); } catch (Exception exception) { logger.Error(exception); ActionContext.Response.StatusCode = HttpStatusCode.InternalServerError; var data = new Response <UserViewModel> { Message = HttpMessage.ERROR_CHANGE_PASS, Status = false }; return(new ResponseResult(data, ActionContext)); } }