示例#1
0
        public async Task <Result> RequestPasswordReset(string login)
        {
            var user = await _userManager.GetUserByLogin(login);

            if (user == null)
            {
                throw new UserNotFoundException();
            }

            var token = await _userManager.GeneratePasswordResetTokenAsync(user);

            var mailMessage = await _mailBuilder.ForgotPasswordEmail().Build(new ForgotPasswordEmailDetails
            {
                Name             = user.UserName,
                PasswordResetUrl = _emailUrlBuilder.BuildPasswordResetFormUrl(token, user.Email)
            },
                                                                             new MailAddress(user.Email, user.UserName));

            await _mailService.SendAsync(mailMessage);

            return(new Result(true));
        }