diff --git a/Source/DataLayer/QueryObjects/LibraryBookQueries.cs b/Source/DataLayer/QueryObjects/LibraryBookQueries.cs index 810488cc..18ddce76 100644 --- a/Source/DataLayer/QueryObjects/LibraryBookQueries.cs +++ b/Source/DataLayer/QueryObjects/LibraryBookQueries.cs @@ -20,7 +20,8 @@ namespace DataLayer .LibraryBooks .AsNoTrackingWithIdentityResolution() .GetLibrary() - .Where(lb => lb.Book.ContentType != ContentType.Parent || includeParents) + .AsEnumerable() + .Where(lb => !lb.Book.IsEpisodeParent() || includeParents) .ToList(); public static LibraryBook GetLibraryBook_Flat_NoTracking(this LibationContext context, string productId) diff --git a/Source/FileLiberator/Processable.cs b/Source/FileLiberator/Processable.cs index b8b984ff..f56c67f1 100644 --- a/Source/FileLiberator/Processable.cs +++ b/Source/FileLiberator/Processable.cs @@ -29,7 +29,7 @@ namespace FileLiberator public IEnumerable GetValidLibraryBooks(IEnumerable library) => library.Where(libraryBook => Validate(libraryBook) - && (libraryBook.Book.ContentType != ContentType.Episode || LibationFileManager.Configuration.Instance.DownloadEpisodes) + && (!libraryBook.Book.IsEpisodeChild() || Configuration.Instance.DownloadEpisodes) ); public async Task ProcessSingleAsync(LibraryBook libraryBook, bool validate) diff --git a/Source/LibationSearchEngine/SearchEngine.cs b/Source/LibationSearchEngine/SearchEngine.cs index a3c86867..e3e733d2 100644 --- a/Source/LibationSearchEngine/SearchEngine.cs +++ b/Source/LibationSearchEngine/SearchEngine.cs @@ -121,12 +121,12 @@ namespace LibationSearchEngine ["Liberated"] = lb => isLiberated(lb.Book), ["LiberatedError"] = lb => liberatedError(lb.Book), - ["Podcast"] = lb => lb.Book.ContentType == ContentType.Episode, - ["Podcasts"] = lb => lb.Book.ContentType == ContentType.Episode, - ["IsPodcast"] = lb => lb.Book.ContentType == ContentType.Episode, - ["Episode"] = lb => lb.Book.ContentType == ContentType.Episode, - ["Episodes"] = lb => lb.Book.ContentType == ContentType.Episode, - ["IsEpisode"] = lb => lb.Book.ContentType == ContentType.Episode, + ["Podcast"] = lb => lb.Book.IsEpisodeChild(), + ["Podcasts"] = lb => lb.Book.IsEpisodeChild(), + ["IsPodcast"] = lb => lb.Book.IsEpisodeChild(), + ["Episode"] = lb => lb.Book.IsEpisodeChild(), + ["Episodes"] = lb => lb.Book.IsEpisodeChild(), + ["IsEpisode"] = lb => lb.Book.IsEpisodeChild(), } );