Пример #1
0
        private async Task Import()
        {
            ProjectCollectionInfo projectCollection = Tools.CurrentProjectCollection;

            TeamProjectInfo[] teamProjects;

            teamProjects = (IsAllTeamProjects)
                ? projectCollection.TeamProjectInfos
                : new TeamProjectInfo[] { Tools.CurrentTeamProject };

            Tools.Progress.BeginWorking(teamProjects.Count());
            try
            {
                foreach (TeamProjectInfo teamProject in teamProjects)
                {
                    try
                    {
                        await Import(projectCollection, teamProject, FileName);

                        Tools.Progress.NextStep();
                    }
                    catch (WitAdminException)
                    {
                        Tools.Progress.FailStep();
                    }
                }
            }
            finally
            {
                Tools.Progress.EndWorking();
            }
        }
Пример #2
0
        private async Task Import(ProjectCollectionInfo projectCollection, TeamProjectInfo teamProject, string fileName)
        {
            string projectCollectionName = projectCollection.Name;
            string teamProjectName       = teamProject.Name;

            await Tools.WitAdminService.ImportProcessConfig(TFManager, projectCollectionName, teamProjectName, fileName);
        }
Пример #3
0
        private async Task Export(ProjectCollectionInfo projectCollection, TeamProjectInfo teamProject, string path)
        {
            string projectCollectionName = projectCollection.Name;
            string teamProjectName       = teamProject.Name;

            string fileName = string.Format("{0}.xml", teamProjectName);
            string fullPath = System.IO.Path.Combine(path, fileName);

            await Tools.WitAdminService.ExportProcessConfig(TFManager, projectCollectionName, teamProjectName, fullPath);
        }
Пример #4
0
        private async Task Export(ProjectCollectionInfo projectCollection, TeamProjectInfo teamProject, WorkItemTypeInfo workItemType, string path)
        {
            string projectCollectionName = projectCollection.Name;
            string teamProjectName       = teamProject.Name;
            string workItemTypeName      = workItemType.Name;

            string fileName = string.Format("{0}.xml", workItemTypeName);
            string fullPath = System.IO.Path.Combine(path, fileName);

            await Tools.WitAdminService.ExportWorkItemDefenition(TFManager, projectCollectionName, teamProjectName,
                                                                 workItemTypeName, fullPath);
        }
Пример #5
0
        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());
        }
Пример #6
0
        private async Task Export()
        {
            ProjectCollectionInfo projectCollection = Tools.CurrentProjectCollection;

            TeamProjectInfo[] teamProjects;

            if (IsAllTeamProjects)
            {
                teamProjects = projectCollection.TeamProjectInfos;

                foreach (TeamProjectInfo teamProject in teamProjects)
                {
                    if (teamProject.WorkItemTypeInfos == null)
                    {
                        await Tools.GetAllTeamProjectsWITypes();

                        break;
                    }
                }
            }
            else
            {
                teamProjects = new TeamProjectInfo[] { Tools.CurrentTeamProject }
            };

            foreach (TeamProjectInfo teamProject in teamProjects)
            {
                WorkItemTypeInfo[] workItemTypeInfos;
                string             path = Path;

                if (IsAllTeamProjects)
                {
                    path = System.IO.Path.Combine(path, teamProject.Name);
                    System.IO.Directory.CreateDirectory(path);
                }

                workItemTypeInfos = (IsAllWorkItemTypes)
                    ? teamProject.WorkItemTypeInfos
                    : workItemTypeInfos = new WorkItemTypeInfo[] { Tools.CurrentWorkItemType };

                Tools.Progress.BeginWorking(workItemTypeInfos.Length);
                try
                {
                    foreach (WorkItemTypeInfo workItemTypeInfo in workItemTypeInfos)
                    {
                        try
                        {
                            await Export(projectCollection, teamProject, workItemTypeInfo, path);

                            Tools.Progress.NextStep();
                        }
                        catch (WitAdminException)
                        {
                            Tools.Progress.FailStep();
                        }
                    }
                }
                finally
                {
                    Tools.Progress.EndWorking();
                }
            }
        }