diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-12-18 00:25:06 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-12-18 00:25:06 -0500 |
| commit | fb8e3f0843b4a2fac3c986815e8ef539cc79a0f7 (patch) | |
| tree | ac00a8a07912c62463977e41410161c7c61935f5 | |
| parent | bc6d28222a71906281c79b1b8c5dead9bb8d31a0 (diff) | |
speed up timer query by id
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/LiveTvManager.cs | 14 | ||||
| -rw-r--r-- | MediaBrowser.Model/LiveTv/TimerQuery.cs | 2 |
2 files changed, 15 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 5e12fc9b9..265817cbe 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -2009,6 +2009,14 @@ namespace Emby.Server.Implementations.LiveTv .Where(i => _tvDtoService.GetInternalSeriesTimerId(i.Item2.Name, i.Item1.SeriesTimerId) == guid); } + if (!string.IsNullOrEmpty(query.Id)) + { + var guid = new Guid(query.Id); + + timers = timers + .Where(i => _tvDtoService.GetInternalTimerId(i.Item2.Name, i.Item1.Id) == guid); + } + var returnList = new List<TimerInfoDto>(); foreach (var i in timers) @@ -2143,7 +2151,11 @@ namespace Emby.Server.Implementations.LiveTv public async Task<TimerInfoDto> GetTimer(string id, CancellationToken cancellationToken) { - var results = await GetTimers(new TimerQuery(), cancellationToken).ConfigureAwait(false); + var results = await GetTimers(new TimerQuery + { + Id = id + + }, cancellationToken).ConfigureAwait(false); return results.Items.FirstOrDefault(i => string.Equals(i.Id, id, StringComparison.OrdinalIgnoreCase)); } diff --git a/MediaBrowser.Model/LiveTv/TimerQuery.cs b/MediaBrowser.Model/LiveTv/TimerQuery.cs index 310dc486f..c6202680c 100644 --- a/MediaBrowser.Model/LiveTv/TimerQuery.cs +++ b/MediaBrowser.Model/LiveTv/TimerQuery.cs @@ -8,6 +8,8 @@ /// <value>The channel identifier.</value> public string ChannelId { get; set; } + public string Id { get; set; } + /// <summary> /// Gets or sets the series timer identifier. /// </summary> |
