fix removing of entries

This commit is contained in:
Florian Stinglmayr 2024-04-13 12:07:38 +02:00
parent 2e8daca61c
commit 7e85159fd5

View File

@ -271,15 +271,27 @@ public partial class MainWindow : MetroWindow {
object obj = entries.SelectedItem; object obj = entries.SelectedItem;
bool removed = false; bool removed = false;
if (obj.GetType() == typeof(Objective)) { if (obj.GetType() == typeof(SystemObjectives)) {
removed = report.Objectives.Remove(obj as Objective); removed = report.SystemObjectives.Remove(obj as SystemObjectives);
} else if (obj.GetType() == typeof(Objective)) {
report
.SystemObjectives
.ForEach(x => {
if (x.Objectives.Remove(obj as Objective)) {
removed = true;
}
});
} else if (obj.GetType() == typeof(UITransaction) || } else if (obj.GetType() == typeof(UITransaction) ||
obj.GetType().IsSubclassOf(typeof(UITransaction))) { obj.GetType().IsSubclassOf(typeof(UITransaction))) {
foreach (Objective parent in report.Objectives) { report
if (parent.UITransactions.Remove(obj as UITransaction)) { .SystemObjectives
removed = true; .SelectMany(x =>
} x.Objectives
} .Where(x => x.UITransactions.Contains(obj as UITransaction))
)
.ToList()
.ForEach(x => removed = x.UITransactions.Remove(obj as UITransaction))
;
} }
if (removed) { if (removed) {