async private Task upgradeProjectListFromOldVersion(string hostname)
        {
            if (Program.Settings.SelectedProjectsUpgraded)
            {
                return;
            }

            GitLabClient.ProjectAccessor projectAccessor = _shortcuts.GetProjectAccessor();

            addOperationRecord("Preparing workflow to the first launch has started");
            IEnumerable <Tuple <string, bool> > projects = ConfigurationHelper.GetProjectsForHost(
                hostname, Program.Settings);
            List <Tuple <string, bool> > upgraded = new List <Tuple <string, bool> >();

            foreach (var project in projects)
            {
                Project p = await projectAccessor.SearchProjectAsync(project.Item1);

                if (p != null)
                {
                    if (!upgraded.Any(x => x.Item1 == p.Path_With_Namespace))
                    {
                        upgraded.Add(new Tuple <string, bool>(p.Path_With_Namespace, project.Item2));
                    }
                }
            }
            ConfigurationHelper.SetProjectsForHost(hostname, upgraded, Program.Settings);
            updateProjectsListView();
            Program.Settings.SelectedProjectsUpgraded = true;
            addOperationRecord("Workflow has been prepared to the first launch");
        }
示例#2
0
        async private Task upgradeProjectListFromOldVersion(string hostname)
        {
            if (Program.Settings.SelectedProjectsUpgraded)
            {
                return;
            }

            GitLabClient.ProjectAccessor projectAccessor = Shortcuts.GetProjectAccessor(
                new GitLabInstance(hostname, Program.Settings), _modificationNotifier);

            labelWorkflowStatus.Text = "Preparing workflow to the first launch...";
            IEnumerable <Tuple <string, bool> > projects = ConfigurationHelper.GetProjectsForHost(
                hostname, Program.Settings);
            List <Tuple <string, bool> > upgraded = new List <Tuple <string, bool> >();

            foreach (var project in projects)
            {
                Project p = await projectAccessor.SearchProjectAsync(project.Item1);

                if (p != null)
                {
                    if (!upgraded.Any(x => x.Item1 == p.Path_With_Namespace))
                    {
                        upgraded.Add(new Tuple <string, bool>(p.Path_With_Namespace, project.Item2));
                    }
                }
            }
            ConfigurationHelper.SetProjectsForHost(hostname, upgraded, Program.Settings);
            updateProjectsListView();
            Program.Settings.SelectedProjectsUpgraded = true;
            labelWorkflowStatus.Text = "Workflow prepared.";
        }