public IPageOfItems <ISearchResult> GetSearchResults(int pageIndex, int pageSize, SearchCriteria criteria)
        {
            CriteriaCollection criteriaCollection = new CriteriaCollection();

            criteriaCollection.Items.Add(new SearchTerm()
            {
                Term = criteria.Term
            });
            string apiKey            = appSettings.GetString("BingAPIKey");
            string hostsToInclude    = appSettings.GetString("BingSearchHosts", "microsoftpdc.com");
            string hostsNotToInclude = appSettings.GetString("BingExcludeSearchHosts", "commnet.microsoftpdc.com,www.microsoftpdc.com,sessions.microsoftpdc.com,microsoftpdc.com/Sessions/Tags/");

            string[] hostsYes = hostsToInclude.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            string[] hostsNo  = hostsNotToInclude.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            DateTime minDate  = DateTime.Parse(appSettings.GetString("BingMinDate"));



            foreach (string s in hostsYes)
            {
                criteriaCollection.Items.Add(new SiteRestriction()
                {
                    Site = s
                });
            }

            foreach (string s in hostsNo)
            {
                criteriaCollection.Items.Add(new SiteRestriction()
                {
                    Site = s, Not = true
                });
            }

            criteriaCollection.Items.Add(new SearchTag()
            {
                ExactMatch = false, Not = true, TagName = "PageType", Value = "List"
            });



            return(SearchProvider.Search(criteriaCollection, minDate, pageSize, pageIndex, apiKey));
        }
        public IPageOfItems <ISearchResult> GetSearchResults(PagingInfo pagingInfo, SearchCriteria criteria)
        {
            CriteriaCollection criteriaCollection = new CriteriaCollection();

            criteriaCollection.Items.Add(new SearchTerm()
            {
                Term = criteria.Term
            });
            //TODO: (erikpo) The following hardcoded values need to be moved to somewhere more generic like module settings
            criteriaCollection.Items.Add(new SiteRestriction()
            {
                Site = "microsoftpdc.com"
            });
            criteriaCollection.Items.Add(new SiteRestriction()
            {
                Site = "commnet.microsoftpdc.com", Not = true
            });
            criteriaCollection.Items.Add(new SiteRestriction()
            {
                Site = "sessions.microsoftpdc.com", Not = true
            });

            return(SearchProvider.Search(criteriaCollection, pagingInfo, appSettings.GetString("BingAPIKey")));
        }