/// <summary> /// Envia token de confirmação para reset de senha. /// </summary> /// <param name="userReactivate"></param> /// <param name="callback"></param> public async Task <bool> SendReactivationEmail(UserReactivateAccountView userReactivate, string callback) { if (_authenticatedUser.IsAuthenticated()) { return(false); } User user = await _userManager.FindByEmailAsync(userReactivate.Email); if (!user.Deleted) { return(false); } bool checkPass = await _userManager.CheckPasswordAsync(user, userReactivate.Password); if (checkPass) { var token = await CreateTokenEmailConfirmation(user); var bodyMessage = CreateBodyEmail(Messages.AccountReActivation, user.FullName, callback, user.Email, token); await _emailService.SendEmailAsync(user.FullName, user.Email, "Account Re-activation.", bodyMessage); } return(true); }
public async Task <IActionResult> SendReactivationEmail(UserReactivateAccountView user) { string callback = Url.Action(nameof(Activate), "User", null, Request.Scheme); var result = await _service.SendReactivationEmail(user, callback); if (result) { return(Ok(new { result = "Reactivation email sent.", message = "Waiting for confirmation." })); } return(Ok(new { result = "Failed.", message = "Non-inactive user." })); }