Example #1
0
 public StoragePopulator(GitHubClient githubClient, CloudTable issueTable, CloudTable milestoneTable)
 {
     Debug.Assert(issueTable.Name == TableNames.RoachIssueTable);
     Debug.Assert(milestoneTable.Name == TableNames.RoachMilestoneTable);
     _githubClient     = githubClient;
     _issueTable       = issueTable;
     _milestoneTable   = milestoneTable;
     _githubQueryUtil  = new GitHubQueryUtil(_githubClient);
     _storageQueryUtil = new StorageQueryUtil(issueTable, milestoneTable);
 }
Example #2
0
        private async Task PopulateIssues(TextWriter logger)
        {
            var util    = new GitHubQueryUtil(_client);
            var request = new RepositoryIssueRequest()
            {
                State = ItemStateFilter.All
            };

            logger.WriteLine($"Getting issues");
            var issues = await util.GetIssues(_repoId, request);

            var list = new List <RoachIssueEntity>();

            foreach (var issue in issues)
            {
                var entity = new RoachIssueEntity(new RoachIssue(_repoId, issue));
                list.Add(entity);
            }

            logger.WriteLine("Populating issues table storage");
            await AzureUtil.InsertBatchUnordered(_issueTable, list);
        }