コード例 #1
0
        public ResetPasswordUserDto ResetPassword(int id)
        {
            var user = _repository.Get(id);

            if (user == null)
            {
                AddNotification("User", "Usário não encontrado");
                return(null);
            }
            var newPassword = user.ResetPassword();

            _repository.Update(user);
            _emailService.Send(
                user.Nickname,
                user.Email,
                string.Format("Mazzatech - Med Clinic - Important", user.Nickname),
                string.Format($"Sua nova senha é: {newPassword}.", newPassword)
                );
            var userNewPass = new ResetPasswordUserDto()
            {
                Name = user.Nickname, Password = newPassword
            };

            return(userNewPass);
        }
コード例 #2
0
        public async Task ResetPassword(ResetPasswordUserDto resetPasswordUserDto)
        {
            var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Email.Equals(resetPasswordUserDto.Email) && x.IsActive);

            if (user == null)
            {
                throw new AppUnauthorizedAccessException(UnautorizedType.NOT_FOUND, ObjectType.USER);
            }

            user.PasswordHash      = _userManager.PasswordHasher.HashPassword(user, resetPasswordUserDto.Password);
            user.ResetPasswordCode = null;
            var result = await _userManager.UpdateAsync(user);

            if (!result.Succeeded)
            {
                throw new UserManagerException("reset password", user.Email);
            }
        }
コード例 #3
0
        public async Task <ActionResult> ResetPassword([FromBody] ResetPasswordUserDto resetPassword)
        {
            await _userService.ResetPassword(resetPassword);

            return(Ok());
        }