瀏覽代碼

speed up timer query by id

Luke Pulverenti 8 年之前
父節點
當前提交
fb8e3f0843
共有 2 個文件被更改,包括 15 次插入1 次删除
  1. 13 1
      Emby.Server.Implementations/LiveTv/LiveTvManager.cs
  2. 2 0
      MediaBrowser.Model/LiveTv/TimerQuery.cs

+ 13 - 1
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));
         }

+ 2 - 0
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>