コード例 #1
0
 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()));
     }
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        public JsonResult GetAllRequests(SearchRequestData model)
        {
            // var custData = "";
            var custData = objOrderData.SearchCustomerOrderData(model);

            return(new JsonResult {
                Data = custData, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
ファイル: SearchQuery.cs プロジェクト: femiosinowo/sssadl
 public SearchQuery(SearchRequestData requestData)
 {
     if (requestData.ProviderName == Ektron.Cms.WebSearch.Utils.SQLIndexProvider)
     {
         _query = new MSIndexQuery(requestData,HttpContext.Current );
     }
     else
     {
         _query = new MSIndexDialectQuery(requestData);
     }
 }
コード例 #7
0
        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);
        }
コード例 #8
0
ファイル: wikilinksearch.aspx.cs プロジェクト: jaytem/minGit
    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("&amp;".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>&nbsp;</p>", "").Replace("<p>&#160;</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());
    }
コード例 #9
0
            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);
            }
コード例 #10
0
        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;
        }