Esempio n. 1
0
        internal void AddPrimitiveProject(PrimitiveProject primitiveProject, SolutionFolder solutionFolder = null)
        {
            var otherProject = PrimitiveProjects.FirstOrDefault(x => x.ProjectId.Equals(primitiveProject.ProjectId));
            ControlFlow.Assert(otherProject == null,
                $"Cannot add '{primitiveProject.Name}' because its id '{primitiveProject.ProjectId}' is already taken by '{otherProject?.Name}'.");

            PrimitiveProjects.Add(primitiveProject);
            PrimitiveProjectParents.Add(primitiveProject, solutionFolder);
        }
Esempio n. 2
0
 internal SolutionFolder GetSolutionFolder(PrimitiveProject primitiveProject)
 {
     return(PrimitiveProjectParents.TryGetValue(primitiveProject, out var parent) ? parent : null);
 }
Esempio n. 3
0
 public void RemoveProject(Project project)
 {
     PrimitiveProjects.Remove(project);
     PrimitiveProjectParents.Remove(project);
 }
Esempio n. 4
0
 internal IReadOnlyCollection <PrimitiveProject> GetNestedPrimitiveProjects(SolutionFolder solutionFolder)
 {
     return(PrimitiveProjectParents.Where(x => x.Value == solutionFolder).Select(x => x.Key).ToList());
 }