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 });