public async Task <IActionResult> Search(string keyWord) { ICollection <Repository> githubApiAnser = await _githubApiService.GetGithubApiAnser(keyWord); ICollection <RepositoryViewModel> repositories = _mapper.Map <ICollection <RepositoryViewModel> >(githubApiAnser); repositories = repositories.Take(10).ToArray(); var searchedKeyWord = await _repositoryContext.SearchedKeyWord.FindAsync(keyWord); if (searchedKeyWord == null) { searchedKeyWord = new SearchedKeyWord() { KeyWord = keyWord, Repositories = repositories, Date = DateTime.Now }; _repositoryContext.SearchedKeyWord.Add(searchedKeyWord); } else { searchedKeyWord.Repositories = repositories; _repositoryContext.Update(searchedKeyWord); } await _repositoryContext.SaveChangesAsync(); return(Ok(repositories)); }
public ActionResult GetSearchedRepositories() { SearchedKeyWord searchedKeyWord = _repositoryContext.SearchedKeyWord.Include(fr => fr.Repositories).OrderByDescending(d => d.Date).FirstOrDefault(); if (searchedKeyWord == null) { return(NotFound("No search yet")); } return(Ok(searchedKeyWord.Repositories)); }