コード例 #1
0
        public Result MemberChangePassword(MemberChangePasswordDto dto)
        {
            var result = _memberChangePasswordValidator.ValidateResult(dto);

            if (!result.Success)
            {
                return(result);
            }

            Member member = _memberRepository.AsNoTracking
                            .FirstOrDefault(s => s.ForgotPasswordToken == dto.Token && s.IsActive);

            MemberChangePasswordSave(dto.NewPassword, member);

            return(new Result().SetSuccess(Messages.PasswordUpdated).Clear());
        }
コード例 #2
0
        public JsonNetResult ResetPassword(MemberChangePasswordDto dto)
        {
            if (!VerifyToken(dto.Token))
            {
                return(new JsonNetResult((new Result().SetRedirect(Url.Action("ForgotPassword")))));
            }

            var result = _memberResetPasswordService.ResetPassword(dto);

            if (result.IsRedirect)
            {
                result.SetRedirect(result.Success ? Url.Action("Login") : Url.Action("ForgotPassword"));
            }

            return(new JsonNetResult(result));
        }
コード例 #3
0
        public Result ResetPassword(MemberChangePasswordDto dto)
        {
            var validator = new MemberChangePasswordValidator();
            var result    = validator.ValidateResult(dto);

            if (!result.Success)
            {
                return(result);
            }

            var member = _memberRepository.AsNoTracking.FirstOrDefault(w => w.ForgotPasswordToken == dto.Token && w.IsActive);

            if (member == null)
            {
                return(new Result().SetError("Invalid forgot password token or token already expired.").SetBlankRedirect());
            }

            SetNewPassword(member, dto.NewPassword);

            return(new Result().SetBlankRedirect()
                   .SetSuccess("Your password has been updated successfully. Please login with your new password."));
        }