Exemple #1
0
 public SearchController(IConfiguration configuration, SearchResultContext context)
 {
     Configuration       = configuration;
     _yandexSearchString = Configuration["YandexSearchString"];
     _apiKey             = Configuration["SerpApiKey"];
     _context            = context;
 }
Exemple #2
0
        public static SearchResultContext GetSearchResultContext(string dbName)
        {
            var options = new DbContextOptionsBuilder <SearchResultContext>()
                          .UseInMemoryDatabase(databaseName: dbName)
                          .Options;

            var dbContext = new SearchResultContext(options);

            dbContext.Seed();

            return(dbContext);
        }
Exemple #3
0
        public static SearchResult <T> ResultFrom <T>(this SearchResultContext <SearchModelBase> searchResultContext, SearchClient <T> searchClient) where T : SearchModelBase
        {
            var result = searchResultContext.SearchResults.Where(x => x.QueryId == ((ISearchClient <T>)searchClient).Query.QueryId).SingleOrDefault();

            if (result == null)
            {
                return(null);
            }


            var newVal = new SearchResult <T> {
                Facets = new FacetsList <T>(), Hits = new List <SearchHit <T> >()
            };

            newVal.Facets.AddRange(result.Facets);
            newVal.Hits.AddRange(result.Hits.Select(x => x.ConvertType <T>()));
            newVal.Query   = result.Query;
            newVal.QueryId = result.QueryId;


            return(newVal);
        }
Exemple #4
0
        public static void Seed(this SearchResultContext dbContext)
        {
            dbContext.SearchResults.Add(new SearchResult()
            {
                Id            = 1,
                SearchString  = "SearchString1",
                SearchService = "1",
                Url           = "1",
                Title         = "1",
                Snippet       = "1"
            });

            dbContext.SearchResults.Add(new SearchResult()
            {
                Id            = 2,
                SearchString  = "SearchString2",
                SearchService = "2",
                Url           = "2",
                Title         = "2",
                Snippet       = "2"
            });

            dbContext.SaveChanges();
        }