Exemplo n.º 1
0
        public static SearchResults Search(BingSearchCriteria criteria, DateTime?minDate, int pageSize, int pageIndex, string apiKey)
        {
            Communication c  = new Communication(apiKey);
            SearchResults sr = c.DoQuery(criteria, pageSize, pageIndex);

            List <ISearchResult> resultsToRemove = new List <ISearchResult>();


            foreach (ISearchResult searchResult in sr)
            {
                if (minDate != null &&
                    searchResult != null &&
                    searchResult.ResultDateTime < minDate.Value)
                {
                    resultsToRemove.Add(searchResult);
                }
            }

            foreach (ISearchResult searchResult in resultsToRemove)
            {
                sr.Results.Remove(searchResult);
            }

            return(sr);
        }
Exemplo n.º 2
0
        public SearchResults DoQuery(BingSearchCriteria criteria, int pageSize, int pageIndex)
        {
            int offset = pageSize * pageIndex;

            string    urlToRequest = string.Format(TargetURL, apiKey, HttpUtility.UrlEncode(criteria.Render()), offset, pageSize);
            WebClient wc           = new WebClient {
                Encoding = System.Text.Encoding.UTF8
            };
            string result = wc.DownloadString(urlToRequest);

            //string result = File.ReadAllText("Results.xml");

            SearchResults results = parseResponse(result);

            results.Offset    = offset;
            results.PageSize  = pageSize;
            results.PageIndex = pageIndex;

            return(results);
        }
Exemplo n.º 3
0
        public override string Render()
        {
            StringBuilder output = new StringBuilder();

            if (Not)
            {
                output.Append("-");
            }

            output.Append("(");

            for (int i = 0; i < Items.Count; i++)
            {
                BingSearchCriteria sc = Items[i];
                output.Append(sc.Render());

                if (i == Items.Count - 1)
                {
                }
                else
                {
                    switch (JoinType)
                    {
                    case JoinType.And:
                        output.Append(" ");
                        break;

                    default:
                        output.Append(" OR ");
                        break;
                    }
                }
            }
            output.Append(")");

            return(output.ToString());
        }