From cf1bc1c252729728cc7ed01d552deb332fe70c11 Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Wed, 8 Jun 2022 08:40:25 -0600 Subject: [PATCH] By defauly, only get actual books and not parents from DB --- Source/ApplicationServices/DbContexts.cs | 4 ++-- Source/DataLayer/QueryObjects/LibraryBookQueries.cs | 3 ++- Source/LibationWinForms/Dialogs/RemoveBooksDialog.cs | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) 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();