public async Task <HttpResponseMessage> ForgotPassword(LoginEmailRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, string.Join(",", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage))));
            }
            SuccessResponse response = new SuccessResponse();

            try
            {
                bool validUser = _userService.IsUser(model.Email);
                if (validUser)
                {
                    AppTokenAddRequest token          = new AppTokenAddRequest();
                    MemberProfile      _memberProfile = _memberProfileService.SelectByEmail(model.Email);
                    token.MemberProfileId = _memberProfile.Id;
                    token.TokenTypeId     = (int)AppTokenType.ResetPassword;
                    Guid _guid = _appTokenService.Insert(token);
                    await _sendEmailService.SendEmailForgotPassword(model.Email, _guid);


                    return(Request.CreateResponse(HttpStatusCode.OK, response));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Email Doesn't Exist"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }