Exemple #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());
        }
        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."));
        }