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