Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }