Ejemplo n.º 1
0
        /// <summary>
        ///		Obtiene los proyectos
        /// </summary>
        private ProjectModelCollection GetProjects()
        {
            ProjectModelCollection objColProjects   = new ProjectModelCollection();
            WorkItemStore          objWorkItemStore = tfsTeamProject.GetService <WorkItemStore>();

            // Carga los proyectos
            foreach (Project objTfsProject in objWorkItemStore.Projects)
            {
                ProjectModel objNewProject = new ProjectModel();

                // Asigna los datos
                objNewProject.ID   = objTfsProject.Id;
                objNewProject.Name = objTfsProject.Name;
                // Asigna los objetos lazy
                objNewProject.Categories.AddRange(LoadCategories(objTfsProject));
                // Añade los tipos de tareas
                for (int intIndex = 0; intIndex < objTfsProject.WorkItemTypes.Count; intIndex++)
                {
                    objNewProject.TaskTypes.Add(objTfsProject.WorkItemTypes[intIndex].Name);
                }
                // Recorre las iteraciones
                for (int intIndex = 0; intIndex < objTfsProject.IterationRootNodes.Count; intIndex++)
                {
                    NodeModel      objNode;
                    IterationModel objIteration = new IterationModel();

                    // Añade el nodo
                    objNode = objNewProject.Iterations.Add(null, objTfsProject.IterationRootNodes[intIndex].Id,
                                                           objTfsProject.IterationRootNodes[intIndex].Name, objIteration);
                    // Asigna los objetos Lazy
                    objIteration.LazyTasks.LazyData = new Lazy <TaskModelCollection>(() => LoadTasksIteration(objNewProject, objNode.ID ?? 0));
                }
                // Añade los objetos Lazy
                objNewProject.LazyTasks.LazyData = new Lazy <TaskModelCollection>(() => LoadTasks(objNewProject));
                // Y lo añade a la colección
                objColProjects.Add(objNewProject);
            }
            // Devuelve los proyectos
            return(objColProjects);
        }
		public SolutionModel(string strFileName, string strPathTarget)
		{ FileName = strFileName;
			PathTarget = strPathTarget;
			Projects = new ProjectModelCollection();
		}