private ISearchEngineHandler GetHandlerToUse(SearchSourceTypes searchSouceType)
        {
            var handler = _handlers.SingleOrDefault(x => x.ShouldHandle(searchSouceType));

            if (handler == null)
            {
                throw new NotImplementedException($"No search handlers exist for {searchSouceType}");
            }

            return(handler);
        }
 public bool ShouldHandle(SearchSourceTypes searchSourceTypes)
 {
     return(searchSourceTypes == SearchSourceTypes.Bing);
 }
예제 #3
0
 public Task <Result <SearchResponse> > SearchAsync(SearchRequestParameter requestParameter, CancellationToken ct,
                                                    SearchSourceTypes searchSouceType = SearchSourceTypes.Google)
 {
     return(_searchEngineRepository.SearchAsync(requestParameter, ct, searchSouceType));
 }
 public bool ShouldHandle(SearchSourceTypes searchSourceTypes)
 {
     return searchSourceTypes == SearchSourceTypes.Google;
 }
 public Task <Result <SearchResponse> > SearchAsync(SearchRequestParameter requestParameter, CancellationToken ct, SearchSourceTypes searchSouceType = SearchSourceTypes.Google)
 {
     return(GetHandlerToUse(searchSouceType).HandleAsync(requestParameter, ct));
 }