From 20e99fc0bb9302f0cbe2ae52aeacd7744b7449af Mon Sep 17 00:00:00 2001 From: Christian Date: Mon, 6 Oct 2025 11:07:35 +0200 Subject: [PATCH] =?UTF-8?q?Sortierung=20der=20Ziele=20+=20Ma=C3=9Fnahmen?= =?UTF-8?q?=20verbessert=20(vorher=20alphabetisch=20"1:=20Ziel1",=20"10:?= =?UTF-8?q?=20Ziel10",=20"2:=20Ziel2",=20jetzt=20werden=20Ziffern=20am=20A?= =?UTF-8?q?nfang=20des=20Textes=20gepr=C3=BCft:=20"1:=20Ziel1",=20"2:=20Zi?= =?UTF-8?q?el2",=20"10:=20Ziel=2010")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWo/Core/Service/SupportConceptService.cs | 4 ++-- .../Controls/ComboBoxTreeViewControl.xaml.cs | 22 +++++++++++++++++-- BeWoPlanerMobil/Controllers/MainController.cs | 14 ++++++------ .../Views/Main/GoalTreePartial.cshtml | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/BeWo/Core/Service/SupportConceptService.cs b/BeWo/Core/Service/SupportConceptService.cs index 731437aec..65be8df93 100644 --- a/BeWo/Core/Service/SupportConceptService.cs +++ b/BeWo/Core/Service/SupportConceptService.cs @@ -25,8 +25,8 @@ namespace BeWo.Core.Service goal.CatalogItem = catalogItem; } } - var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.DisplayName).ToList(); - var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.DisplayName).ToList(); + var ziele = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalCategoryType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalCategoryType)).OrderBy(s => s.OrderedDisplayName).ToList(); + var massnahmen = allGoalsAndCategories.Where(w => w.Type.Equals(ValueListEntryType.SupportConceptGoalType) || w.Type.Equals(ValueListEntryType.SupportConceptIndividualGoalType)).OrderBy(s => s.OrderedDisplayName).ToList(); var goalCategoryDict = new Dictionary(); diff --git a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml.cs b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml.cs index 84e0f3865..4f0d829ed 100644 --- a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml.cs +++ b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml.cs @@ -370,7 +370,12 @@ namespace BeWo.View.Controls private void FilterTreeItems() { String searchtext = cbtv_search.Text; - + + //Damit das funktioniert, müssen alle Items expanded werden + foreach (SupportConceptGoalDC goal in Tree1.Items) + { + ExpandItem(goal); + } foreach (var goal in Tree1.Items) { SetTreeItemVisibility(Tree1.ItemContainerGenerator, goal as SupportConceptGoalDC, searchtext); @@ -401,9 +406,21 @@ namespace BeWo.View.Controls } } + private void ExpandItem(SupportConceptGoalDC goal) + { + goal.IsExpanded = true; + if (goal.Children != null) + { + foreach (var item in goal.Children) + { + ExpandItem(item); + } + } + } + private void SetTreeItemVisibility(ItemContainerGenerator ig, SupportConceptGoalDC goal, string searchtext) { - + goal.IsExpanded = true; var item = ig.ContainerFromItem(goal) as TreeViewItem; if (item == null) @@ -414,6 +431,7 @@ namespace BeWo.View.Controls if (item == null) return; + if (goal.Children == null || goal.Children.Count == 0) { diff --git a/BeWoPlanerMobil/Controllers/MainController.cs b/BeWoPlanerMobil/Controllers/MainController.cs index c49a8a640..5aacf0fd8 100644 --- a/BeWoPlanerMobil/Controllers/MainController.cs +++ b/BeWoPlanerMobil/Controllers/MainController.cs @@ -857,8 +857,8 @@ namespace BeWoPlanerMobil.Controllers private List BuildGoalTree(IReadOnlyCollection goals) { - var ziele = goals.Where(w => _GoalTypes.Contains(w.Type)).OrderBy(s => s.DisplayName).ToList(); - var massnahmen = goals.Where(w => _MeasureTypes.Contains(w.Type)).OrderBy(s => s.DisplayName).ToList(); + var ziele = goals.Where(w => _GoalTypes.Contains(w.Type)).OrderBy(s => s.OrderedDisplayName).ToList(); + var massnahmen = goals.Where(w => _MeasureTypes.Contains(w.Type)).OrderBy(s => s.OrderedDisplayName).ToList(); var goalTree = new List(); var goalTreeDic = new Dictionary(); var goalsWithRating = Model.SelectedServiceRecord?.Goals?.Where(goal => goal.RatingTypeOid.HasValue).ToList() ?? new List(); @@ -936,11 +936,11 @@ namespace BeWoPlanerMobil.Controllers item.IsLeaf = true; } - goalTree = goalTree.OrderBy(o => o.ValueListEntryOid).ToList(); - foreach(var item in goalTree) - { - SortGoals(item); - } + //goalTree = goalTree.OrderBy(o => o.ValueListEntryOid).ToList(); + //foreach(var item in goalTree) + //{ + // SortGoals(item); + //} return goalTree; } diff --git a/BeWoPlanerMobil/Views/Main/GoalTreePartial.cshtml b/BeWoPlanerMobil/Views/Main/GoalTreePartial.cshtml index 7f21716de..7a954931a 100644 --- a/BeWoPlanerMobil/Views/Main/GoalTreePartial.cshtml +++ b/BeWoPlanerMobil/Views/Main/GoalTreePartial.cshtml @@ -174,7 +174,7 @@
- @foreach(var child in goalTreeItem.Children.OrderBy(child => child.Header)) + @foreach(var child in goalTreeItem.Children) { @BuildGoalTreeBranch(child) }