diff --git a/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/SharpIdeModels.cs b/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/SharpIdeModels.cs index f4c52c2..609f3cd 100644 --- a/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/SharpIdeModels.cs +++ b/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/SharpIdeModels.cs @@ -10,7 +10,7 @@ public class SharpIdeSolutionModel : ISharpIdeNode public required string FilePath { get; set; } public required List Projects { get; set; } public required List Folders { get; set; } - public required List AllProjects { get; set; } + public required HashSet AllProjects { get; set; } } public class SharpIdeSolutionFolder : ISharpIdeNode { @@ -27,6 +27,7 @@ public class SharpIdeProjectModel : ISharpIdeNode public required List Folders { get; set; } public required List Files { get; set; } public bool Expanded { get; set; } + public bool Running { get; set; } public required Task MsBuildEvaluationProjectTask { get; set; } public Project MsBuildEvaluationProject => MsBuildEvaluationProjectTask.IsCompletedSuccessfully diff --git a/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/VsPersistenceMapper.cs b/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/VsPersistenceMapper.cs index 39da95d..3026901 100644 --- a/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/VsPersistenceMapper.cs +++ b/src/SharpIDE.Application/Features/SolutionDiscovery/VsPersistence/VsPersistenceMapper.cs @@ -12,7 +12,7 @@ public static class VsPersistenceMapper var intermediateModel = await IntermediateMapper.GetIntermediateModel(solutionFilePath, cancellationToken); var solutionName = Path.GetFileName(solutionFilePath); - var allProjects = new List(); + var allProjects = new HashSet(); var solutionModel = new SharpIdeSolutionModel { Name = solutionName, @@ -33,7 +33,7 @@ public static class VsPersistenceMapper return solutionModel; } - private static SharpIdeProjectModel GetSharpIdeProjectModel(IntermediateProjectModel projectModel, List allProjects) + private static SharpIdeProjectModel GetSharpIdeProjectModel(IntermediateProjectModel projectModel, HashSet allProjects) { var project = new SharpIdeProjectModel { @@ -47,7 +47,7 @@ public static class VsPersistenceMapper return project; } - private static SharpIdeSolutionFolder GetSharpIdeSolutionFolder(IntermediateSlnFolderModel folderModel, List allProjects) => new SharpIdeSolutionFolder() + private static SharpIdeSolutionFolder GetSharpIdeSolutionFolder(IntermediateSlnFolderModel folderModel, HashSet allProjects) => new SharpIdeSolutionFolder() { Name = folderModel.Model.Name, Files = folderModel.Files.Select(GetSharpIdeFile).ToList(),