diff --git a/Source/ApplicationServices/DbContexts.cs b/Source/ApplicationServices/DbContexts.cs index eb79a34d..d8f4b487 100644 --- a/Source/ApplicationServices/DbContexts.cs +++ b/Source/ApplicationServices/DbContexts.cs @@ -12,10 +12,10 @@ namespace ApplicationServices => LibationContext.Create(SqliteStorage.ConnectionString); /// Use for full library querying. No lazy loading - public static List GetLibrary_Flat_NoTracking() + public static List GetLibrary_Flat_NoTracking(bool includeParents = false) { using var context = GetContext(); - return context.GetLibrary_Flat_NoTracking(); + return context.GetLibrary_Flat_NoTracking(includeParents); } } } diff --git a/Source/DataLayer/QueryObjects/LibraryBookQueries.cs b/Source/DataLayer/QueryObjects/LibraryBookQueries.cs index 41016e52..969aa702 100644 --- a/Source/DataLayer/QueryObjects/LibraryBookQueries.cs +++ b/Source/DataLayer/QueryObjects/LibraryBookQueries.cs @@ -15,11 +15,12 @@ namespace DataLayer // .GetLibrary() // .ToList(); - public static List GetLibrary_Flat_NoTracking(this LibationContext context) + public static List GetLibrary_Flat_NoTracking(this LibationContext context, bool includeParents = false) => context .LibraryBooks .AsNoTrackingWithIdentityResolution() .GetLibrary() + .Where(lb => lb.Book.ContentType != ContentType.Parent || includeParents) .ToList(); public static LibraryBook GetLibraryBook_Flat_NoTracking(this LibationContext context, string productId) diff --git a/Source/LibationWinForms/Dialogs/RemoveBooksDialog.cs b/Source/LibationWinForms/Dialogs/RemoveBooksDialog.cs index bd6f1fc0..84e5ff51 100644 --- a/Source/LibationWinForms/Dialogs/RemoveBooksDialog.cs +++ b/Source/LibationWinForms/Dialogs/RemoveBooksDialog.cs @@ -39,7 +39,6 @@ namespace LibationWinForms.Dialogs _dataGridView.BindingContextChanged += _dataGridView_BindingContextChanged; var orderedGridEntries = _libraryBooks - .Where(lb => lb.Book.ContentType is not ContentType.Parent) .Select(lb => new RemovableGridEntry(lb)) .OrderByDescending(ge => (DateTime)ge.GetMemberValue(nameof(ge.PurchaseDate))) .ToList();