コード例 #1
0
        /// <summary>
        /// Gets the projects.
        /// </summary>
        /// <param name="address">The address.</param>
        /// <returns>
        /// The projects from the server.
        /// </returns>
        public async Task <IList <ServerProjectTreeItem> > GetProjects(string address)
        {
            var result      = new List <ServerProjectTreeItem>();
            var server      = this.GetServerManager().GetServer(address, false);
            var allProjects = await server.GetAllProjects();

            var serverProjects = new List <ServerProjectTreeItem>();

            foreach (var project in allProjects.CruiseControlProject)
            {
                var serverProjectTreeItem = new ServerProjectTreeItem();
                serverProjectTreeItem.Name    = project.Name;
                serverProjectTreeItem.Address = address;

                if (string.IsNullOrWhiteSpace(project.ServerName))
                {
                    result.Add(serverProjectTreeItem);
                }
                else
                {
                    var serverProject = serverProjects.FirstOrDefault(s => s.Name == project.ServerName);
                    if (serverProject == null)
                    {
                        serverProject      = new ServerProjectTreeItem();
                        serverProject.Name = project.ServerName;
                        serverProjects.Add(serverProject);
                        result.Add(serverProject);
                    }

                    serverProject.ServerProjects.Add(serverProjectTreeItem);
                }
            }

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// Adds single server project to the server projects list.
        /// </summary>
        /// <param name="parentList">The parent list.</param>
        /// <param name="jenkinsJobsItem">The new Jenkins Job Item.</param>
        /// <returns>The newly  created server projects tree item.</returns>
        private ServerProjectTreeItem AddServerProject(IList <ServerProjectTreeItem> parentList, JenkinsJob jenkinsJobsItem)
        {
            var newServerProject = new ServerProjectTreeItem();

            newServerProject.Address = jenkinsJobsItem.Url;
            newServerProject.Name    = jenkinsJobsItem.Name;
            parentList.Add(newServerProject);
            return(newServerProject);
        }