private async Task<List<ProjectCollectionInfo>> GetProjectCollectionInfos(ITFManager tfManager)
{
var projectCollectionInfos = new List<ProjectCollectionInfo>();
Progress.BeginWorking();
try
{
await Task.Run(() =>
{
var projectCollections = tfManager.ProjectCollections;
var teamProjects = tfManager.TeamProjects;
foreach (var projectCollection in projectCollections)
{
var teamProjectInfos = teamProjects[projectCollection.Key]
.Select(teamProjectItem =>
new TeamProjectInfo() { Name = teamProjectItem.Name, WorkItemTypeInfos = null, Categories = null, ProcessConfig = null }
).ToArray();
var projColInfo = new ProjectCollectionInfo() { Name = projectCollection.Key, TeamProjectInfos = teamProjectInfos };
projectCollectionInfos.Add(projColInfo);
}
});
Progress.NextStep();
}
finally
{
Progress.EndWorking();
}
return projectCollectionInfos.ToList();
}