public IActionResult Get(string keyword) { IEnumerable <QueryResult> resultsList; string cacheKey = "results" + keyword.Trim().ToLower(); resultsList = memoryCache.Get <IEnumerable <QueryResult> >(cacheKey); if (resultsList == null) //not in cache { resultsList = _resultsRepository.GetResults(keyword); //get results from DB if (resultsList == null || resultsList.Count() == 0) //also not in DB { resultsList = Top10Search.RunTasks(keyword, _resultsRepository).Result; memoryCache.Set(cacheKey, resultsList);//SAVE RESULT IN CACHE return(new OkObjectResult(resultsList)); } else//in DB: { memoryCache.Set(cacheKey, resultsList.ToList <QueryResult>());//SAVE RESULT IN CACHE return(new OkObjectResult(resultsList)); } } return(new OkObjectResult(resultsList)); }
public async Task <IActionResult> Index(string org) { List <Result> results = await _resultsRepository.GetResults(org); ResultViewModel viewModel = new ResultViewModel() { Org = org, Results = results }; return(View(viewModel)); }
public async Task <IActionResult> GetResults() { var results = await _repo.GetResults(); return(Ok(results)); }