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); }
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); }