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); }
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); } }
public async Task <ActionResult> ResetPassword([FromBody] ResetPasswordUserDto resetPassword) { await _userService.ResetPassword(resetPassword); return(Ok()); }