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