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());
        }