/// <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(); }