/// <summary> /// Carga los datos de un proyecto /// </summary> private ProjectModel LoadProject(SolutionModel solution, ProjectDefinitionModelCollection definitions, MLNode nodeML) { return(new ProjectModel(solution, definitions.Search(nodeML.Nodes[TagModule].Value, nodeML.Nodes[TagType].Value), System.IO.Path.Combine(solution.PathBase, nodeML.Nodes[TagFileName].Value))); }
/// <summary> /// Carga los datos de la soluciĆ³n de un archivo /// </summary> public SolutionModel Load(ProjectDefinitionModelCollection definitions, string fileName) { SolutionModel solution = new SolutionModel(fileName); // Carga los proyectos if (System.IO.File.Exists(fileName)) { MLFile fileML = new XMLParser().Load(fileName); foreach (MLNode nodeML in fileML.Nodes) { if (nodeML.Name == TagSolution) { foreach (MLNode childML in nodeML.Nodes) { switch (childML.Name) { case TagFolder: solution.Folders.Add(LoadFolder(solution, definitions, childML)); break; case TagProject: solution.Projects.Add(LoadProject(solution, definitions, childML)); break; } } } } } // Devuelve la soluciĆ³n return(solution); }
/// <summary> /// Carga los datos de un proyecto /// </summary> private ProjectModel LoadProject(SolutionModel solution, ProjectDefinitionModelCollection definitions, MLNode nodeML) { return(new ProjectModel(solution, definitions.Search(nodeML.Nodes[TagModule].Value, nodeML.Nodes[TagType].Value), LibCommonHelper.Files.HelperFiles.CombinePath(solution.PathBase, nodeML.Nodes[TagFileName].Value))); }
/// <summary> /// Obtiene las definiciones de proyectos /// </summary> private ProjectDefinitionModelCollection GetProjectDefinitions() { ProjectDefinitionModelCollection definitions = new ProjectDefinitionModelCollection(); // Recorre los plugins foreach (KeyValuePair <string, IPluginSourceEditor> objKey in _dctPlugins) { definitions.Add(objKey.Value.Definition); } // Devuelve las definiciones de proyectos return(definitions); }
/// <summary> /// Carga los datos de una carpeta de proyecto /// </summary> private SolutionFolderModel LoadFolder(SolutionModel solution, ProjectDefinitionModelCollection definitions, MLNode nodeML) { SolutionFolderModel folder = new SolutionFolderModel(solution); // Asigna las propiedades folder.Name = nodeML.Nodes[TagName].Value; // Carga los proyectos foreach (MLNode childML in nodeML.Nodes) { if (childML.Name == TagProject) { folder.Projects.Add(LoadProject(solution, definitions, childML)); } } // Devuelve la carpeta return(folder); }