public IActionResult ShowResults(string searchingInput) { List <SearchResult> results = new List <SearchResult>(); if (string.IsNullOrWhiteSpace(searchingInput)) { throw new ArgumentNullException("SearchInput is null", nameof(searchingInput)); } string searchQuery = searchingInput; if (context.GetSearchResults().Any(s => s.SearchingInput == searchingInput)) { results = context.GetSearchResults().Where(s => s.SearchingInput == searchingInput).ToList(); } else { var request = WebRequest.Create("https://www.googleapis.com/customsearch/v1?key=" + API_KEY + "&cx=" + SEARCH_ENGINE_ID_CX + "&q=" + searchQuery); results = RequestResultsDeserialize(request, searchingInput); int numberOfSelectedResults = 10; for (int i = 0; i < numberOfSelectedResults; i++) { context.SaveSearchResult(results[i]); } } return(View(results)); }
public IPageOfItems<ISearchResult> GetSearchResults(PagingInfo pagingInfo, SearchCriteria criteria) { IPageOfItems<ISearchResult> searchResults = cache.GetItems<IPageOfItems<ISearchResult>, ISearchResult>( string.Format("GetPosts-SearchTerm:{0}", criteria.Term), pagingInfo.ToCachePartition(), () => repository.GetSearchResults(pagingInfo, criteria), null ); //if (context.RequestDataFormat.IsFeed()) // searchResults = searchResults.Since(context.RequestContext.HttpContext.Request.IfModifiedSince()); pluginEngine.ExecuteAll("UserSearched", new { context, criteria }); return searchResults; }
public IPageOfItems <ISearchResult> GetSearchResults(int pageIndex, int pageSize, SearchCriteria criteria) { IPageOfItems <ISearchResult> searchResults = cache.GetItems <IPageOfItems <ISearchResult>, ISearchResult>( string.Format("GetPosts-SearchTerm:{0}", criteria.Term), new CachePartition(pageIndex, pageSize), () => repository.GetSearchResults(context.Site.ID, criteria).GetPage(pageIndex, pageSize), null ); //if (context.RequestDataFormat.IsFeed()) // searchResults = searchResults.Since(context.RequestContext.HttpContext.Request.IfModifiedSince()); pluginEngine.ExecuteAll("UserSearched", new { context, criteria }); return(searchResults); }