public async Task GetListTopRepositoriesFromLanguages(string language)
        {
            var repositories = await GitHubRepository.GetTopRepositoriesByLanguageAsync(language);

            Assert.NotNull(repositories);
            Assert.True(repositories.Count > 0);
        }
        public async ValueTask <IEnumerable <RepositoryViewModel> > GetTopRepositoriesFromLanguageAsync(string language)
        {
            var repositories = await _context.Repositories
                               .Include(x => x.Owner)
                               .Where(x => x.Language == language)
                               .ToListAsync();

            if (!(repositories?.Any() ?? false))
            {
                repositories = await _gitHubRepository.GetTopRepositoriesByLanguageAsync(language);

                await _context.Repositories.AddRangeAsync(repositories);

                await _context.SaveChangesAsync();
            }

            return(repositories.Select(x => x.ToViewModel()));
        }