aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/AlbumsService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/AlbumsService.cs')
-rw-r--r--MediaBrowser.Api/AlbumsService.cs29
1 files changed, 25 insertions, 4 deletions
diff --git a/MediaBrowser.Api/AlbumsService.cs b/MediaBrowser.Api/AlbumsService.cs
index e78a30c4a..d31bef428 100644
--- a/MediaBrowser.Api/AlbumsService.cs
+++ b/MediaBrowser.Api/AlbumsService.cs
@@ -5,6 +5,7 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using ServiceStack.ServiceHost;
using System;
+using System.Collections.Generic;
using System.Linq;
namespace MediaBrowser.Api
@@ -76,15 +77,35 @@ namespace MediaBrowser.Api
var artists1 = album1.RecursiveChildren
.OfType<Audio>()
- .SelectMany(i => new[] { i.AlbumArtist, i.Artist })
- .Where(i => !string.IsNullOrEmpty(i))
+ .SelectMany(i =>
+ {
+ var list = new List<string>();
+
+ if (!string.IsNullOrEmpty(i.AlbumArtist))
+ {
+ list.Add(i.AlbumArtist);
+ }
+ list.AddRange(i.Artists);
+
+ return list;
+ })
.Distinct(StringComparer.OrdinalIgnoreCase)
.ToList();
var artists2 = album2.RecursiveChildren
.OfType<Audio>()
- .SelectMany(i => new[] { i.AlbumArtist, i.Artist })
- .Where(i => !string.IsNullOrEmpty(i))
+ .SelectMany(i =>
+ {
+ var list = new List<string>();
+
+ if (!string.IsNullOrEmpty(i.AlbumArtist))
+ {
+ list.Add(i.AlbumArtist);
+ }
+ list.AddRange(i.Artists);
+
+ return list;
+ })
.Distinct(StringComparer.OrdinalIgnoreCase)
.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);