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."));
        }
示例#2
0
        public MemberService(
            IMemberRepository memberRepository,
            IMemberResultRepository memberResultRepository,
            IUnitOfWork unitOfWork, MemberActionFactory actionFactory,
            MemberFrontValidator memberValidator,
            MemberChangePasswordValidator memberChangePasswordValidator,
            MemberFrontChangePasswordValidator memberFrontChangePasswordValidator,
            MemberFrontUpdateValidator memberUpdateValidator,
            MemberLoginValidator memberLoginValidator,
            IContactUsInquiryRepository contactUsInquiryRepository)
        {
            _memberRepository                   = memberRepository;
            _memberResultRepository             = memberResultRepository;
            _unitOfWork                         = unitOfWork;
            _actionFactory                      = actionFactory;
            _memberValidator                    = memberValidator;
            _memberChangePasswordValidator      = memberChangePasswordValidator;
            _memberFrontChangePasswordValidator = memberFrontChangePasswordValidator;
            _memberUpdateValidator              = memberUpdateValidator;
            _memberLoginValidator               = memberLoginValidator;
            _contactUsInquiryRepository         = contactUsInquiryRepository;

            MemberMapper.Init();
        }