diff options
Diffstat (limited to 'Emby.Server.Implementations/LiveTv/LiveTvManager.cs')
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/LiveTvManager.cs | 61 |
1 files changed, 25 insertions, 36 deletions
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 5ba96283bb..fa505d3fb3 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -173,7 +173,7 @@ namespace Emby.Server.Implementations.LiveTv } } - public async Task<QueryResult<LiveTvChannel>> GetInternalChannels(LiveTvChannelQuery query, CancellationToken cancellationToken) + public async Task<QueryResult<LiveTvChannel>> GetInternalChannels(LiveTvChannelQuery query, DtoOptions dtoOptions, CancellationToken cancellationToken) { var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId); @@ -192,7 +192,8 @@ namespace Emby.Server.Implementations.LiveTv IsFavorite = query.IsFavorite, IsLiked = query.IsLiked, StartIndex = query.StartIndex, - Limit = query.Limit + Limit = query.Limit, + DtoOptions = dtoOptions }; internalQuery.OrderBy.AddRange(query.SortBy.Select(i => new Tuple<string, SortOrder>(i, query.SortOrder ?? SortOrder.Ascending))); @@ -249,7 +250,7 @@ namespace Emby.Server.Implementations.LiveTv { Id = id - }, cancellationToken).ConfigureAwait(false); + }, new DtoOptions(), cancellationToken).ConfigureAwait(false); return result.Items.FirstOrDefault(); } @@ -865,13 +866,6 @@ namespace Emby.Server.Implementations.LiveTv return item.Id; } - - - private string GetExternalSeriesIdLegacy(BaseItem item) - { - return item.GetProviderId("ProviderExternalSeriesId"); - } - public async Task<BaseItemDto> GetProgram(string id, CancellationToken cancellationToken, User user = null) { var program = GetInternalProgram(id); @@ -882,11 +876,6 @@ namespace Emby.Server.Implementations.LiveTv var externalSeriesId = program.ExternalSeriesId; - if (string.IsNullOrWhiteSpace(externalSeriesId)) - { - externalSeriesId = GetExternalSeriesIdLegacy(program); - } - list.Add(new Tuple<BaseItemDto, string, string, string>(dto, program.ServiceName, GetItemExternalId(program), externalSeriesId)); await AddRecordingInfo(list, cancellationToken).ConfigureAwait(false); @@ -906,6 +895,8 @@ namespace Emby.Server.Implementations.LiveTv query.SortBy = new[] { ItemSortBy.StartDate }; } + RemoveFields(options); + var internalQuery = new InternalItemsQuery(user) { IncludeItemTypes = new[] { typeof(LiveTvProgram).Name }, @@ -965,8 +956,6 @@ namespace Emby.Server.Implementations.LiveTv var queryResult = _libraryManager.QueryItems(internalQuery); - RemoveFields(options); - var returnArray = (await _dtoService.GetBaseItemDtos(queryResult.Items, options, user).ConfigureAwait(false)).ToArray(); var result = new QueryResult<BaseItemDto> @@ -1045,12 +1034,12 @@ namespace Emby.Server.Implementations.LiveTv public async Task<QueryResult<BaseItemDto>> GetRecommendedPrograms(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken) { + RemoveFields(options); + var internalResult = await GetRecommendedProgramsInternal(query, options, cancellationToken).ConfigureAwait(false); var user = _userManager.GetUserById(query.UserId); - RemoveFields(options); - var returnArray = (await _dtoService.GetBaseItemDtos(internalResult.Items, options, user).ConfigureAwait(false)).ToArray(); var result = new QueryResult<BaseItemDto> @@ -1333,7 +1322,8 @@ namespace Emby.Server.Implementations.LiveTv { IncludeItemTypes = new string[] { typeof(LiveTvProgram).Name }, - ChannelIds = new string[] { currentChannel.Id.ToString("N") } + ChannelIds = new string[] { currentChannel.Id.ToString("N") }, + DtoOptions = new DtoOptions(true) }).Cast<LiveTvProgram>().ToDictionary(i => i.Id); @@ -1436,7 +1426,8 @@ namespace Emby.Server.Implementations.LiveTv { var list = _itemRepo.GetItemIdsList(new InternalItemsQuery { - IncludeItemTypes = validTypes + IncludeItemTypes = validTypes, + DtoOptions = new DtoOptions(false) }).ToList(); @@ -1663,6 +1654,8 @@ namespace Emby.Server.Implementations.LiveTv includeItemTypes.Add(typeof(Series).Name); + RemoveFields(options); + var internalResult = _libraryManager.GetItemsResult(new InternalItemsQuery(user) { Recursive = true, @@ -1672,11 +1665,10 @@ namespace Emby.Server.Implementations.LiveTv SortOrder = SortOrder.Descending, EnableTotalRecordCount = query.EnableTotalRecordCount, IncludeItemTypes = includeItemTypes.ToArray(), - ExcludeItemTypes = excludeItemTypes.ToArray() + ExcludeItemTypes = excludeItemTypes.ToArray(), + DtoOptions = options }); - RemoveFields(options); - var returnArray = (await _dtoService.GetBaseItemDtos(internalResult.Items, options, user).ConfigureAwait(false)).ToArray(); return new QueryResult<BaseItemDto> @@ -1686,7 +1678,7 @@ namespace Emby.Server.Implementations.LiveTv }; } - public async Task<QueryResult<BaseItem>> GetInternalRecordings(RecordingQuery query, CancellationToken cancellationToken) + public async Task<QueryResult<BaseItem>> GetInternalRecordings(RecordingQuery query, DtoOptions options, CancellationToken cancellationToken) { var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId); if (user != null && !IsLiveTvEnabled(user)) @@ -1696,14 +1688,15 @@ namespace Emby.Server.Implementations.LiveTv if (_services.Count == 1 && !(query.IsInProgress ?? false) && (!query.IsLibraryItem.HasValue || query.IsLibraryItem.Value)) { - return GetEmbyRecordings(query, new DtoOptions(), user); + return GetEmbyRecordings(query, options, user); } await RefreshRecordings(cancellationToken).ConfigureAwait(false); var internalQuery = new InternalItemsQuery(user) { - IncludeItemTypes = new[] { typeof(LiveTvVideoRecording).Name, typeof(LiveTvAudioRecording).Name } + IncludeItemTypes = new[] { typeof(LiveTvVideoRecording).Name, typeof(LiveTvAudioRecording).Name }, + DtoOptions = options }; if (!string.IsNullOrEmpty(query.ChannelId)) @@ -1872,11 +1865,6 @@ namespace Emby.Server.Implementations.LiveTv var externalSeriesId = program.ExternalSeriesId; - if (string.IsNullOrWhiteSpace(externalSeriesId)) - { - externalSeriesId = GetExternalSeriesIdLegacy(program); - } - programTuples.Add(new Tuple<BaseItemDto, string, string, string>(dto, serviceName, GetItemExternalId(program), externalSeriesId)); } @@ -1953,10 +1941,10 @@ namespace Emby.Server.Implementations.LiveTv { var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId); - var internalResult = await GetInternalRecordings(query, cancellationToken).ConfigureAwait(false); - RemoveFields(options); + var internalResult = await GetInternalRecordings(query, options, cancellationToken).ConfigureAwait(false); + var returnArray = (await _dtoService.GetBaseItemDtos(internalResult.Items, options, user).ConfigureAwait(false)).ToArray(); return new QueryResult<BaseItemDto> @@ -2299,7 +2287,8 @@ namespace Emby.Server.Implementations.LiveTv MinEndDate = now, Limit = channelIds.Length, SortBy = new[] { "StartDate" }, - TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Result.Id.ToString("N") } + TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Result.Id.ToString("N") }, + DtoOptions = options }).ToList() : new List<BaseItem>(); @@ -2601,7 +2590,7 @@ namespace Emby.Server.Implementations.LiveTv { UserId = query.UserId - }, cancellationToken).ConfigureAwait(false); + }, new DtoOptions(), cancellationToken).ConfigureAwait(false); var recordings = recordingResult.Items.OfType<ILiveTvRecording>().ToList(); |
