public SolutionFolderObject(SolutionFolderLine solutionFolderLine, List<string> nestedProjectsSection, List<string> csprojLines, List<string> solutionFolderLines) { Name = solutionFolderLine.Name; FolderGuid = solutionFolderLine.FolderGuid; if(HasNestedFolders(solutionFolderLine.FolderGuid, nestedProjectsSection)) { NestedFolders = new List<SolutionFolderObject>(); } if(HasNestedProjects()) { NestedProjects = new List<string>(); } }
public SolutionView(List<string> lines, string rootPath) { List<string> allProjectLines = Common.ApplyFilter(lines, Constants.PROJECT, null); List<string> solutionFolderLines = Common.GetSolutionFolders(allProjectLines); List<string> csprojLines = Common.ApplyFilter(allProjectLines, null, Constants.CSPROJ); List<string> nestedProjectsSection = Common.GetNestedProjects(lines); SolutionFolders = new List<SolutionFolderObject>(); foreach(string line in solutionFolderLines) { SolutionFolderLine solutionFolderLine = new SolutionFolderLine(line); SolutionFolderObject solutionFolder = new SolutionFolderObject(solutionFolderLine, nestedProjectsSection, csprojLines, solutionFolderLines); SolutionFolders.Add(solutionFolder); } ProjectsNotInASolutionFolder = BuildListOfProjectsNotInASolutionFolder(csprojLines, SolutionFolders); }