//[LogAspect(typeof(DbLogger))]
            public async Task <IResult> Handle(ForgotPasswordCommand request, CancellationToken cancellationToken)
            {
                var isbagisciExits = await _userDal.GetAsync(u => u.TCKimlikNo == Convert.ToInt64(request.TCKimlikNo) &&
                                                             u.Email == request.Email);

                if (isbagisciExits == null)
                {
                    return(new ErrorResult(Messages.WrongCID));
                }
                var generatedPassword = RandomPassword.CreateRandomPassword(14);

                HashingHelper.CreatePasswordHash(generatedPassword, out byte[] passwordSalt, out byte[] passwordHash);

                var user = new User
                {
                    Status      = true,
                    Email       = isbagisciExits.Email,
                    CepTelefonu = isbagisciExits.CepTelefonu,
                    UserId      = isbagisciExits.UserId
                };

                _userDal.Update(user);
                //TODO: Yeni Şifre SMS ya da Mail Atılsın
                return(new SuccessResult(Messages.SendPassword + " Yeni Parola:" + generatedPassword + "passwordHash" + passwordHash + "passwordSalt" + passwordSalt));
            }
예제 #2
0
            public async Task <IResult> Handle(ForgotPasswordCommand request, CancellationToken cancellationToken)
            {
                var user = await _userRepository.GetAsync(u => u.CitizenId == Convert.ToInt64(request.TCKimlikNo));

                if (user == null)
                {
                    return(new ErrorResult(Messages.WrongCID));
                }
                var generatedPassword = RandomPassword.CreateRandomPassword(14);

                HashingHelper.CreatePasswordHash(generatedPassword, out byte[] passwordSalt, out byte[] passwordHash);

                _userRepository.Update(user);

                return(new SuccessResult(Messages.SendPassword + " Yeni Parola:" + generatedPassword));
            }