From f30c87dc8fb351215b22343f3ddc20f555c266d4 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Sat, 21 Dec 2024 00:29:48 -0500 Subject: [PATCH] also show related tasks for `Instance` ; i.e., all instances regardless of parent class --- .../Commands/InstancePreviewCommand.cs | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/mocha-dotnet/src/lib/Mocha.Core.UI.Server/Commands/InstancePreviewCommand.cs b/mocha-dotnet/src/lib/Mocha.Core.UI.Server/Commands/InstancePreviewCommand.cs index 6b64c77..8b4add4 100644 --- a/mocha-dotnet/src/lib/Mocha.Core.UI.Server/Commands/InstancePreviewCommand.cs +++ b/mocha-dotnet/src/lib/Mocha.Core.UI.Server/Commands/InstancePreviewCommand.cs @@ -46,19 +46,14 @@ public class InstancePreviewCommand : InstanceCommand Dictionary> relatedTasks = new Dictionary>(); InstanceHandle parentClass = oms.GetParentClass(ProcessingInstance); + + InstanceHandle c_Instance = oms.GetInstance(KnownInstanceGuids.Classes.Instance); + IEnumerable relatedTasksINSTANCE = oms.GetRelatedInstances(c_Instance, oms.GetInstance(KnownRelationshipGuids.Class__has_related__Task)); + IEnumerable relatedTasksIH = oms.GetRelatedInstances(parentClass, oms.GetInstance(KnownRelationshipGuids.Class__has_related__Task)); - foreach (InstanceHandle ih in relatedTasksIH) - { - InstanceHandle taskCategory = oms.GetRelatedInstance(ih, oms.GetInstance(KnownRelationshipGuids.Task__has__Task_Category)); - string categoryTitle = oms.GetInstanceText(taskCategory); - if (!relatedTasks.ContainsKey(categoryTitle)) - { - relatedTasks[categoryTitle] = new List(); - } - - relatedTasks[categoryTitle].Add(new RelatedTask() { InstanceKey = oms.GetInstanceKey(ih), Label = oms.GetInstanceText(ih) }); - } - + AddRelatedTasks(oms, relatedTasks, relatedTasksINSTANCE); + AddRelatedTasks(oms, relatedTasks, relatedTasksIH); + /* relatedTasks["Preferences"] = new List(); @@ -131,5 +126,18 @@ public class InstancePreviewCommand : InstanceCommand sw.Write(obj.ToJsonString()); } + private void AddRelatedTasks(Oms oms, Dictionary> relatedTasks, IEnumerable relatedTasksIH) + { + foreach (InstanceHandle ih in relatedTasksIH) + { + InstanceHandle taskCategory = oms.GetRelatedInstance(ih, oms.GetInstance(KnownRelationshipGuids.Task__has__Task_Category)); + string categoryTitle = oms.GetInstanceText(taskCategory); + if (!relatedTasks.ContainsKey(categoryTitle)) + { + relatedTasks[categoryTitle] = new List(); + } + relatedTasks[categoryTitle].Add(new RelatedTask() { InstanceKey = oms.GetInstanceKey(ih), Label = oms.GetInstanceText(ih) }); + } + } } \ No newline at end of file