public IActionResult GetSearchResultCount(IEnumerable <SearchRequestData> _objReqData) { try { string result = string.Empty; List <SearchRequestData> _objLstReqData = new List <SearchRequestData>(); //ExtendedSearchResultFilterData _objrespData = new ExtendedSearchResultFilterData(); // _objLstReqData.MatchDetails = new List<MatchDetail>(); //_objLstReqData.MatchSituations = new List<MatchSituation>(); //_objLstReqData.PlayerDetails = new List<PlayerDetail>(); string jsonData = JsonConvert.SerializeObject(_objReqData); _objLstReqData = JsonConvert.DeserializeObject <List <SearchRequestData> >(jsonData); //_objLstReqData.MatchDetails = JsonConvert.DeserializeObject<List<MatchDetail>>(jsonData); //_objLstReqData.MatchSituations = JsonConvert.DeserializeObject<List<MatchSituation>>(jsonData); //_objLstReqData.PlayerDetails = JsonConvert.DeserializeObject<List<PlayerDetail>>(jsonData); if (_objLstReqData != null) { SearchRequestData _objReqDataRes = _objLstReqData.FirstOrDefault(); result = _sObj.GetSearchResultCount(_objReqDataRes); } //string jsonString = JsonConvert.SerializeObject(result); return(Ok(new { result })); } catch (Exception ex) { return(BadRequest(ex.Message.ToString())); } }
private string makeQuerySuffic(SearchRequestData meta) { var baseQuery = $"services/rest/?method=flickr.photos.search&api_key={this.api_key}"; baseQuery += $"&per_page={this.pageSize.ToString()}"; baseQuery += "&format=json&nojsoncallback=1"; if (meta.Page.HasValue) { baseQuery += $"&page={meta.Page.ToString()}"; } if (!string.IsNullOrWhiteSpace(meta.Keywords)) { baseQuery += $"&tags={meta.Keywords}"; } if (meta.Lat.HasValue) { baseQuery += $"&lat={meta.Lat.Value.ToString()}"; } if (meta.Lon.HasValue) { baseQuery += $"&lon={meta.Lon.Value.ToString()}"; } return(baseQuery); }
public JsonResult GetAllRequests(SearchRequestData model) { // var custData = ""; var custData = objOrderData.SearchCustomerOrderData(model); return(new JsonResult { Data = custData, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public void findImages_Test2() { var searchRequest = new SearchRequestData(); searchRequest.Keywords = "Car"; searchRequest.Page = 1; var result = _searchController.findImages(searchRequest) as ObjectResult; var responseData = result.Value as SearchResultResponse; Assert.AreEqual(responseData.PerPage, _searchController.pageSize); }
public void findImages_Test1() { var searchRequest = new SearchRequestData(); searchRequest.Keywords = "Flower"; searchRequest.Page = 1; var result = _searchController.findImages(searchRequest) as ObjectResult; var responseData = result.Value as SearchResultResponse; Assert.AreEqual(responseData.HasError, false); }
public SearchQuery(SearchRequestData requestData) { if (requestData.ProviderName == Ektron.Cms.WebSearch.Utils.SQLIndexProvider) { _query = new MSIndexQuery(requestData,HttpContext.Current ); } else { _query = new MSIndexDialectQuery(requestData); } }
public IActionResult findImages([FromBody] SearchRequestData meta) { if (!meta.Page.HasValue) { meta.Page = 1; } var searchResponse = new SearchResultResponse(); if (string.IsNullOrWhiteSpace(meta.Keywords)) { if (!meta.Lat.HasValue || !meta.Lon.HasValue) { searchResponse.HasError = true; searchResponse.ErrorMessage = "at Least on of (Keywords/Gelocation info) must be supplied."; var errorResponse = new ObjectResult(searchResponse); errorResponse.StatusCode = 200; return(errorResponse); } } var querySuffix = makeQuerySuffic(meta); var cacheKey = GetMD5Hash(querySuffix); string cacheResult = ""; if (EnableCaching) { cacheResult = _distributedCache.GetString(cacheKey); } if (!string.IsNullOrEmpty(cacheResult)) { ProceesQueryResponse(cacheResult, searchResponse); } else { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("https://api.flickr.com/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage flickrResponse = client.GetAsync(querySuffix).Result; if (flickrResponse.IsSuccessStatusCode) { string jsonResult = flickrResponse.Content.ReadAsStringAsync().Result; ProceesQueryResponse(jsonResult, searchResponse); if (!searchResponse.HasError) { if (EnableCaching) { var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(CacheSeconds)); _distributedCache.SetString(cacheKey, jsonResult, options); } } } else { searchResponse.HasError = true; searchResponse.ErrorMessage = $"request Failed with statusCode: { flickrResponse.StatusCode.ToString() }, reason: { flickrResponse.ReasonPhrase }"; } } } var response = new ObjectResult(searchResponse); response.StatusCode = 200; return(response); }
protected void Page_Load(object sender, System.EventArgs e) { Page.Response.ContentType = "text/xml"; Page.Response.Clear(); Page.Response.BufferOutput = true; string text = ""; int pageNumber = 1; int totalPages = 0; int MaxResults = 0; int iLoop = 1; string strID = ""; StringBuilder strFields = new StringBuilder(); string strOnclick = ""; long contentId = 0; long selectedId = -1; int languageID = m_commonApi.RequestInformationRef.ContentLanguage; m_refMsg = m_commonApi.EkMsgRef; Ektron.Cms.ContentAPI content_api = null; content_api = new Ektron.Cms.ContentAPI(); if (content_api.GetCookieValue("LastValidLanguageID") != "" && Convert.ToInt32(content_api.GetCookieValue("LastValidLanguageID")) != -1) { languageID = Convert.ToInt32(content_api.GetCookieValue("LastValidLanguageID")); } text = Request.QueryString["text"]; if (!string.IsNullOrEmpty(Request.QueryString["pnum"]) && Convert.ToInt32(Request.QueryString["pnum"]) > 0) { pageNumber = Convert.ToInt32(Request.QueryString["pnum"]); } if (!string.IsNullOrEmpty(Request.QueryString["cid"])) { contentId = Convert.ToInt64(Request.QueryString["cid"]); } if (!string.IsNullOrEmpty(Request.QueryString["selectedid"])) { selectedId = Convert.ToInt64(Request.QueryString["selectedid"]); } Ektron.Cms.API.Search.SearchManager search = new Ektron.Cms.API.Search.SearchManager(); SearchRequestData requestData = new SearchRequestData(); requestData.SearchFor = Ektron.Cms.WebSearch.SearchDocumentType.all; requestData.SearchText = text; requestData.PageSize = 10; requestData.LanguageID = languageID; requestData.CurrentPage = pageNumber; int resultCount = 0; SearchResponseData[] result = search.Search(requestData, HttpContext.Current, ref resultCount); StringBuilder str = new StringBuilder(); StringBuilder strRet = new StringBuilder(); int tmpCount = 0; string strLink = ""; string[] arLink = null; MaxResults = requestData.PageSize; if (resultCount != 0) { str.Append("<table width=\"100%\" class=\"ektronGrid\">"); foreach (SearchResponseData data in result) { strLink = ""; strID = (string)("ek_sel_cont" + iLoop); if (data.QuickLink.IndexOf("http://") > -1) { strLink = (string)(data.QuickLink); strLink = strLink.Substring(7); strLink = "http://" + strLink.Replace("\'", "\\\'").Replace("//", "/"); } if (strLink.ToLower().IndexOf("window.open") < 0) { arLink = strLink.Split("?".ToCharArray()); if (arLink.Length > 1) { strLink = arLink[0]; arLink = arLink[1].Split("&".ToCharArray()); foreach (string val in arLink) { if (val.IndexOf("terms=") == -1) { if (strLink == "") { strLink = val; } else { if (strLink.IndexOf("?") < 0) { strLink = strLink + "?" + val; } else { strLink = strLink + "&" + val; } } } } } } strOnclick = "SelectContent(\'" + strID + "\',\'" + strLink + "\')"; str.Append("<tr><td valign=\"top\" style=\"width:1%;\" valign=\"top\">"); str.Append("<input type=\"radio\" "); if (selectedId != -1 && selectedId == data.ContentID) { str.Append(" checked=\"true\" "); } if (data.ContentID == contentId) { str.Append(" disabled "); } str.Append("onclick=\"" + strOnclick + "\" id=\""); str.Append(strID); str.Append("\" name=\"ek_sel_cont\"/></td><td valign=\"top\">"); str.Append("<span onclick=\"" + strOnclick + "\" class=\"title\">"); str.Append(data.Title).Append("</span><br/>"); str.Append("<span onclick=\"SelectContent(\'" + strID + "\',\'" + strLink + "\')\" class=\"summary\">"); if (data.ContentType != 2 && data.ContentType != 4) { str.Append(data.Summary.Replace("<p> </p>", "").Replace("<p> </p>", "").Replace("<p> </p>", "")); } str.Append("</span></td></tr>"); strFields.Append(",").Append(strID); iLoop++; } } if (resultCount > 0 && MaxResults > 0) { if (resultCount % MaxResults == 0) { totalPages = resultCount / MaxResults; } else { tmpCount = System.Convert.ToInt32(resultCount / MaxResults); if (tmpCount * MaxResults < resultCount) { totalPages = tmpCount + 1; } else { totalPages = tmpCount; } } } str.Append("</table>"); if (totalPages == 0) { strRet = new StringBuilder(); strRet.Append("<content>"); strRet.Append("<table style=\"width:100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"); strRet.Append("<tr><td>" + m_refMsg.GetMessage("alt no related content") + "</td></tr>"); strRet.Append("</table>"); strRet.Append("</content>"); strRet.Append("<totalPages>").Append(totalPages).Append("</totalPages>"); } else { strRet.Append("<content>"); strRet.Append("<div class=\"header\">" + m_refMsg.GetMessage("lbl total") + ": ").Append(resultCount).Append("<br/>"); strRet.Append("" + m_refMsg.GetMessage("page lbl") + ": ").Append(pageNumber).Append(" " + m_refMsg.GetMessage("lbl of") + " ").Append(totalPages).Append("</div>"); strRet.Append(str.ToString()); strRet.Append("</content>"); strRet.Append("<totalPages>").Append(totalPages).Append("</totalPages>"); } Response.Write(strRet.ToString()); }
internal NonPagedSearchQuery(SearchRequestData requestData) : base(requestData,HttpContext.Current) { if (requestData.ProviderName == Ektron.Cms.WebSearch.Utils.SQLIndexProvider) SelectStatement = @" SELECT ContentID64,ContentLanguage,ContentType,FolderID64,QuickLink,DocTitle FROM SCOPE('""{0}""') WHERE "; else if (requestData.ProviderName == Ektron.Cms.WebSearch.Utils.DialectIndexProvider) SelectStatement = " ContentID64,ContentLanguage,FolderID64,ContentType,QuickLink,DocTitle "; MakeProviderDataForQuery(requestData); }
public SearchRequestData GetSearchRequestData() { SearchRequestData requestData = new SearchRequestData(); if (_parameters != null) { IOrderedDictionary parameterValues = _parameters.GetValues(Context, this); Parameter parameter = _parameters[EnablePagingName]; if (parameter != null) requestData.EnablePaging = (bool)parameterValues[parameter.Name]; parameter = _parameters[CurrentPageName]; if (parameter != null) requestData.CurrentPage = (int)parameterValues[parameter.Name]; parameter = _parameters[CategoryName]; if (parameter != null) requestData.Category = (string)parameterValues[parameter.Name]; parameter = _parameters[FolderIdName]; if (parameter != null) requestData.FolderID = (long)parameterValues[parameter.Name]; parameter = _parameters[OrderByName]; if (parameter != null) requestData.OrderBy = (WebSearchOrder)parameterValues[parameter.Name]; parameter = _parameters[OrderDirectionName]; if (parameter != null) requestData.OrderDirection = (WebSearchOrderByDirection)parameterValues[parameter.Name]; parameter = _parameters[RecursiveName]; if (parameter != null) requestData.Recursive = (bool)parameterValues[parameter.Name]; parameter = _parameters[SearchForName]; if (parameter != null) requestData.SearchFor = (SearchDocumentType)parameterValues[parameter.Name]; parameter = _parameters[SearchResultTypeName]; if (parameter != null) requestData.SearchReturnType = (WebSearchResultType )parameterValues[parameter.Name]; parameter = _parameters[SearchTextName]; if (parameter != null) requestData.SearchText = (string)parameterValues[parameter.Name]; } return requestData; }