diff options
Diffstat (limited to 'MediaBrowser.Api/Library/LibraryService.cs')
| -rw-r--r-- | MediaBrowser.Api/Library/LibraryService.cs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs index c3fdbb9a0..dba256418 100644 --- a/MediaBrowser.Api/Library/LibraryService.cs +++ b/MediaBrowser.Api/Library/LibraryService.cs @@ -1,4 +1,5 @@ using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; @@ -6,6 +7,7 @@ using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; +using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; @@ -242,18 +244,20 @@ namespace MediaBrowser.Api.Library private readonly IUserDataManager _userDataManager; private readonly IDtoService _dtoService; + private readonly IChannelManager _channelManager; /// <summary> /// Initializes a new instance of the <see cref="LibraryService" /> class. /// </summary> public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, - IDtoService dtoService, IUserDataManager userDataManager) + IDtoService dtoService, IUserDataManager userDataManager, IChannelManager channelManager) { _itemRepo = itemRepo; _libraryManager = libraryManager; _userManager = userManager; _dtoService = dtoService; _userDataManager = userDataManager; + _channelManager = channelManager; } public object Get(GetMediaFolders request) @@ -417,6 +421,21 @@ namespace MediaBrowser.Api.Library var songs = filteredItems.OfType<Audio>().ToList(); var series = filteredItems.OfType<Series>().ToList(); + var channelCount = 0; + + try + { + channelCount = _channelManager.GetChannels(new ChannelQuery + { + UserId = request.UserId.HasValue ? request.UserId.Value.ToString("N") : null + + }, CancellationToken.None).Result.TotalRecordCount; + } + catch (Exception ex) + { + Logger.ErrorException("Error getting channels", ex); + } + var counts = new ItemCounts { AlbumCount = albums.Count, @@ -432,7 +451,9 @@ namespace MediaBrowser.Api.Library BoxSetCount = boxsets.Count, BookCount = books.Count, - UniqueTypes = items.Select(i => i.GetClientTypeName()).Distinct().ToList() + UniqueTypes = items.Select(i => i.GetClientTypeName()).Distinct().ToList(), + + ChannelCount = channelCount }; return ToOptimizedSerializedResultUsingCache(counts); |
