public async Task <IActionResult> SendResetPasswordEmail([FromBody] SendResetPasswordEmailModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { errorMessage = GetModelStateErrors() }));
            }

            var user = await _userManager.FindByEmailAsync(model.Email);

            if (user == null)
            {
                return(BadRequest(new { errorMessage = "An account with that email address does not exist" }));
            }

            if (!user.UserName.Equals(model.Username, StringComparison.InvariantCultureIgnoreCase))
            {
                return(BadRequest(new { errorMessage = "An account with that username and email combination does not exist" }));
            }

            var token = await _userManager.GeneratePasswordResetTokenAsync(user);

            _sendGridService.SendPasswordResetEmail(user, HttpUtility.UrlEncode(token));

            return(Ok());
        }