public SearchController(IConfiguration configuration, SearchResultContext context) { Configuration = configuration; _yandexSearchString = Configuration["YandexSearchString"]; _apiKey = Configuration["SerpApiKey"]; _context = context; }
public static SearchResultContext GetSearchResultContext(string dbName) { var options = new DbContextOptionsBuilder <SearchResultContext>() .UseInMemoryDatabase(databaseName: dbName) .Options; var dbContext = new SearchResultContext(options); dbContext.Seed(); return(dbContext); }
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); }
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(); }