diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-27 18:01:29 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-27 18:01:29 -0400 |
| commit | 063675bb07f78f99738a3ada061f3e2c16c9cda0 (patch) | |
| tree | f544ea1e036d7de72fa4a62114e82666f31e2868 /MediaBrowser.Server.Implementations/Dto/DtoService.cs | |
| parent | 37c27a26e90b7eff62cec9e2b6a6c003e79fcbe4 (diff) | |
updated nuget
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto/DtoService.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Dto/DtoService.cs | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs index c4499fac0..afcfde556 100644 --- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs +++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs @@ -66,22 +66,35 @@ namespace MediaBrowser.Server.Implementations.Dto /// <exception cref="System.ArgumentNullException">item</exception> public BaseItemDto GetBaseItemDto(BaseItem item, List<ItemFields> fields, User user = null, BaseItem owner = null) { + var dto = GetBaseItemDtoInternal(item, fields, user, owner); + var byName = item as IItemByName; - if (byName != null) + if (byName != null && !(item is LiveTvChannel)) { - var libraryItems = user != null ? - user.RootFolder.GetRecursiveChildren(user) : - _libraryManager.RootFolder.RecursiveChildren; + IEnumerable<BaseItem> libraryItems; + + var artist = item as MusicArtist; - var dto = GetBaseItemDtoInternal(item, fields, user); + if (artist == null || artist.IsAccessedByName) + { + libraryItems = user != null ? + user.RootFolder.GetRecursiveChildren(user) : + _libraryManager.RootFolder.RecursiveChildren; + } + else + { + libraryItems = user != null ? + artist.GetRecursiveChildren(user) : + artist.RecursiveChildren; + } SetItemByNameInfo(item, dto, byName.GetTaggedItems(libraryItems).ToList(), user); return dto; } - return GetBaseItemDtoInternal(item, fields, user, owner); + return dto; } private BaseItemDto GetBaseItemDtoInternal(BaseItem item, List<ItemFields> fields, User user = null, BaseItem owner = null) |
