From df889a60a4a684e36c4744092276826ba6598e83 Mon Sep 17 00:00:00 2001 From: Robert McRackan Date: Fri, 25 Oct 2019 22:45:48 -0400 Subject: [PATCH] Mare library item aggregates to assist with importing --- DTOs/LibraryApiV10.custom.cs | 3 ++- DTOs/LibraryApiV10Extensions.cs | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/DTOs/LibraryApiV10.custom.cs b/DTOs/LibraryApiV10.custom.cs index 95454cdb..cde356a8 100644 --- a/DTOs/LibraryApiV10.custom.cs +++ b/DTOs/LibraryApiV10.custom.cs @@ -8,7 +8,8 @@ namespace DTOs public partial class LibraryApiV10 { public IEnumerable AuthorsDistinct => Items.GetAuthorsDistinct(); - public IEnumerable NarratorsDistinct => Items.GetNarratorsDistinct(); + public IEnumerable NarratorsDistinct => Items.GetNarratorsDistinct(); + public IEnumerable PublishersDistinct => Items.GetPublishersDistinct(); public IEnumerable SeriesDistinct => Items.GetSeriesDistinct(); public IEnumerable ParentCategoriesDistinct => Items.GetParentCategoriesDistinct(); public IEnumerable ChildCategoriesDistinct => Items.GetChildCategoriesDistinct(); diff --git a/DTOs/LibraryApiV10Extensions.cs b/DTOs/LibraryApiV10Extensions.cs index 03f04c86..731e58e6 100644 --- a/DTOs/LibraryApiV10Extensions.cs +++ b/DTOs/LibraryApiV10Extensions.cs @@ -10,8 +10,11 @@ namespace DTOs public static IEnumerable GetAuthorsDistinct(this IEnumerable items) => items.SelectMany(i => i.Authors).DistinctBy(a => new { a.Name, a.Asin }); - public static IEnumerable GetNarratorsDistinct(this IEnumerable items) - => items.SelectMany(i => i.Narrators).DistinctBy(n => new { n.Name, n.Asin }); + public static IEnumerable GetNarratorsDistinct(this IEnumerable items) + => items.SelectMany(i => i.Narrators, (i, n) => n.Name).Distinct(); + + public static IEnumerable GetPublishersDistinct(this IEnumerable items) + => items.Select(i => i.Publisher).Distinct(); public static IEnumerable GetSeriesDistinct(this IEnumerable items) => items.SelectMany(i => i.Series).DistinctBy(s => new { s.SeriesName, s.SeriesId });