public async Task <IActionResult> ForgotPassword([FromBody] ForgotUserPasswordDTO forgotUserPasswordDTO) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } var user = await _userManager.FindByNameAsync(forgotUserPasswordDTO.Username); if (user == null) { AddError("This user was not found."); return(CustomResponse()); } var token = await _userManager.GeneratePasswordResetTokenAsync(user); if (await _emailSenderService.SendForgotPasswordEmail(user.Email, user.UserName, token)) { return(CustomResponse()); } AddError("Email cannot be sent."); return(CustomResponse()); }