public IEnumerable <IssueId> GetIssueIdsByProject(string projectId, IssueId resumeAfterId = null) { Logger.Debug("Begin JiraCacheApi.GetIssueIds {params}", new { projectIds = projectId.ToOrderedCsv(), resumeAfterId }); if (IssueListSource.HasFlag(IssueSource.Cache)) { foreach (var issueId in GetIssueIdsFromSource("cache-by-project", _cacheApi.GetIssueIdsByProject(projectId, resumeAfterId))) { if (resumeAfterId == null || resumeAfterId < issueId) { resumeAfterId = issueId; } yield return(issueId); } } if (IssueListSource.HasFlag(IssueSource.Jira)) { foreach (var issueId in GetIssueIdsFromSource("jira-by-project", _sourceApi.GetIssueIdsByProject(projectId, resumeAfterId))) { yield return(issueId); } } }
internal static IEnumerable <IssueId> GetIssueIds(this IJiraApi jiraApi, ProjectFilter projectFilter, out int totalCount, IssueId resumeAfter = null) { var projects = projectFilter.Projects; projects.Sort(); totalCount = jiraApi.GetTotalIssueCount(projects, resumeAfter).Result; return(projects.SelectMany(p => jiraApi.GetIssueIdsByProject(p, resumeAfter))); }