예제 #1
0
        public async Task <OperationResult <IEnumerable <ImageSearchResult> > > Search(string query, int resultsCount = 10)
        {
            var sw = Stopwatch.StartNew();

            var result = new List <ImageSearchResult>();

            if (WebHelper.IsStringUrl(query))
            {
                var s = ImageHelper.ImageSearchResultForImageUrl(query);
                if (s != null)
                {
                    result.Add(s);
                }
            }

            var bingResults = await BingSearchEngine.PerformImageSearch(query, resultsCount);

            if (bingResults != null)
            {
                result.AddRange(bingResults);
            }
            var iTunesResults = await ITunesSearchEngine.PerformImageSearch(query, resultsCount);

            if (iTunesResults != null)
            {
                result.AddRange(iTunesResults);
            }
            sw.Stop();
            return(new OperationResult <IEnumerable <ImageSearchResult> >
            {
                IsSuccess = true,
                Data = result,
                OperationTime = sw.ElapsedMilliseconds
            });
        }
예제 #2
0
 public ImageService(IRoadieSettings configuration,
                     IHttpEncoder httpEncoder,
                     IHttpContext httpContext,
                     data.IRoadieDbContext context,
                     ICacheManager cacheManager,
                     ILogger <ImageService> logger,
                     IDefaultNotFoundImages defaultNotFoundImages)
     : base(configuration, httpEncoder, context, cacheManager, logger, httpContext)
 {
     DefaultNotFoundImages = defaultNotFoundImages;
     BingSearchEngine      = new BingImageSearchEngine(configuration, logger, RequestIp, Referrer);
     ITunesSearchEngine    = new ITunesSearchEngine(configuration, cacheManager, logger, RequestIp, Referrer);
 }
 public SearchTracksService(ITunesSearchEngine searchEngine)
 {
     _searchEngine = searchEngine;
 }
예제 #4
0
 public iTunesHelper(IRoadieSettings configuration, ICacheManager cacheManager, ILogger logger)
     : base(configuration, cacheManager, logger)
 {
     this._iTunesSearchEngine = new ITunesSearchEngine(configuration, cacheManager, logger);
 }