예제 #1
0
        private IEnumerable <Repository> GetProjectsForUser(Task <User> task)
        {
            if (task.Exception == null)
            {
                User = task.Result;
            }

            if (User == null)
            {
                return(Enumerable.Empty <Repository>());
            }

            var repos = new List <Repository>();

            var orgs      = GithubRepository.GetOrganisations(User.Login).Result;
            var userRepos = GithubRepository.GetProjects(User.Login).Result;

            repos.AddRange(userRepos);

            foreach (var org in orgs)
            {
                var orgRepos = GithubRepository.GetProjects(org.Login).Result;
                repos.AddRange(orgRepos);
            }

            return(repos);
        }
예제 #2
0
        public Dictionary <User, IEnumerable <User> > GetOrganisationUsers()
        {
            var results = new Dictionary <User, IEnumerable <User> >();

            if (User == null)
            {
                return(results);
            }

            var organisations = GithubRepository.GetOrganisations(User.Login).Result.ToList();

            organisations.Add(User);

            foreach (var repo in organisations)
            {
                var result = GithubRepository.GetOrganisationUsers(repo.Login).Result;
                results.Add(repo, result);
            }

            return(null);
        }