Exemple #1
0
        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());
        }
Exemple #2
0
        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));
            }
        }