aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-18 00:25:06 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-12-18 00:25:06 -0500
commitfb8e3f0843b4a2fac3c986815e8ef539cc79a0f7 (patch)
treeac00a8a07912c62463977e41410161c7c61935f5
parentbc6d28222a71906281c79b1b8c5dead9bb8d31a0 (diff)
speed up timer query by id
-rw-r--r--Emby.Server.Implementations/LiveTv/LiveTvManager.cs14
-rw-r--r--MediaBrowser.Model/LiveTv/TimerQuery.cs2
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>