Beispiel #1
0
        public static async Task Main()
        {
            var username       = GitHubConstants.GitHubRepoDictionary.Values.First();
            var repositoryName = GitHubConstants.GitHubRepoDictionary.Keys.First();

            var gitHubUser = await GitHubGraphQLService.GetUser(username).ConfigureAwait(false);

            Console.WriteLine(gitHubUser);

            var gitHubRepository = await GitHubGraphQLService.GetRepository(username, repositoryName).ConfigureAwait(false);

            Console.WriteLine(gitHubRepository);

            try
            {
                var cancellationTokenSournce = new CancellationTokenSource(TimeSpan.FromSeconds(3));

                await foreach (var issueList in GitHubGraphQLService.GetRepositoryIssues(username, repositoryName, cancellationTokenSournce.Token))
                {
                    foreach (var issue in issueList)
                    {
                        Console.WriteLine(issue);
                    }
                }
            }
            catch (OperationCanceledException)
            {
                Console.WriteLine("GetRepositories Cancelled");
            }

            Console.WriteLine("Completed. Press Any Key.");
            Console.ReadLine();
        }
Beispiel #2
0
        public static async Task Main(string[] args)
        {
            var username       = GitHubConstants.GitHubRepoDictionary.Values.First();
            var repositoryName = GitHubConstants.GitHubRepoDictionary.Keys.First();

            var gitHubUser = await GitHubGraphQLService.GetUser(username).ConfigureAwait(false);

            Console.WriteLine(gitHubUser);

            var gitHubRepository = await GitHubGraphQLService.GetRepository(username, repositoryName).ConfigureAwait(false);

            Console.WriteLine(gitHubRepository);

            var count = 0;
            var cancellationTokenSournce = new CancellationTokenSource();

            await foreach (var issueList in GitHubGraphQLService.GetRepositoryIssues(username, repositoryName, cancellationTokenSournce.Token))
            {
                foreach (var issue in issueList)
                {
                    Console.WriteLine(issue);
                }

                if (++count > 5)
                {
                    cancellationTokenSournce.Cancel();
                }
            }

            Console.WriteLine("Completed. Press Any Key.");
            Console.ReadLine();
        }
Beispiel #3
0
        public static async IAsyncEnumerable <GitHubRepository> GetRepositories(Dictionary <string, string> repositoryDictionary)
        {
            var getRepositoryTaskList = repositoryDictionary.Select(x => GitHubGraphQLService.GetRepository(x.Value, x.Key)).ToList();

            while (getRepositoryTaskList.Any())
            {
                var finishedGetRepositoryTask = await Task.WhenAny(getRepositoryTaskList).ConfigureAwait(false);

                getRepositoryTaskList.Remove(finishedGetRepositoryTask);

                var repository = await finishedGetRepositoryTask.ConfigureAwait(false);

                yield return(repository);
            }
        }