public HttpResponseMessage UserResetPassword(ResetPasswordRequest objResetPasswordRequest) { FResponse result = new FResponse(); if (ModelState.IsValid) { try { IsPasswordValid = (Regex.IsMatch(objResetPasswordRequest.Password, passwordRegex)); //if (IsPasswordValid == true) //{ var headers = Request.Headers; string token = headers.Authorization.Parameter.ToString(); Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery <Int64>("select UserId from UserToken where TokenCode={0}", token).FirstOrDefault(); TimeSpan mailSentTime = _objFriendFitDBEntity.Database.SqlQuery <TimeSpan>("SELECT TOP 1 MailSentTime FROM MailTimeLogs where UserId=@UserId ORDER BY Id DESC", new SqlParameter("UserId", UserId)).FirstOrDefault(); TimeSpan Nowtime = DateTime.Now.TimeOfDay; var TimeDiff = Nowtime - mailSentTime; if (TimeDiff.Hours > 12) { result.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable); result.Message = "Link is Expired"; } else { //update password if link is not expired var model = _objIUserSettings.ResetPassword(objResetPasswordRequest, UserId); if (model > 0) { result.StatusCode = Convert.ToInt32(HttpStatusCode.OK); result.Message = "Your password has been updated successfully."; } else { result.StatusCode = Convert.ToInt32(HttpStatusCode.NotFound); result.Message = "Not Updated"; } } //} //else //{ // result.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable); // result.Message = "Password Must contain at least one number and one uppercase and lowercase letter, and atleast one special character and must be in between 6 to 20 characters"; //} _response = Request.CreateResponse(HttpStatusCode.OK, result); return(_response); } catch (Exception ex) { result.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest); _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred"); } } else { result.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable); result.Message = "Request is not valid !!"; } return(_response); }