Browse Source

update sync cancellation

Luke Pulverenti 8 years ago
parent
commit
28bbe32d1d

+ 12 - 0
Emby.Server.Implementations/Sync/SyncManager.cs

@@ -1030,6 +1030,18 @@ namespace Emby.Server.Implementations.Sync
                 {
                 {
                     await CancelJobItem(jobItem.Id).ConfigureAwait(false);
                     await CancelJobItem(jobItem.Id).ConfigureAwait(false);
                 }
                 }
+
+                var syncJobResult = await GetJobs(new SyncJobQuery
+                {
+                    ItemId = item,
+                    TargetId = targetId
+
+                }).ConfigureAwait(false);
+
+                foreach (var job in syncJobResult.Items)
+                {
+                    await CancelJob(job.Id).ConfigureAwait(false);
+                }
             }
             }
         }
         }
 
 

+ 5 - 0
Emby.Server.Implementations/Sync/SyncRepository.cs

@@ -360,6 +360,11 @@ namespace Emby.Server.Implementations.Sync
                         whereClauses.Add("UserId=?");
                         whereClauses.Add("UserId=?");
                         paramList.Add(query.UserId);
                         paramList.Add(query.UserId);
                     }
                     }
+                    if (!string.IsNullOrWhiteSpace(query.ItemId))
+                    {
+                        whereClauses.Add("ItemIds like ?");
+                        paramList.Add("%" + query.ItemId + "%");
+                    }
                     if (query.SyncNewContent.HasValue)
                     if (query.SyncNewContent.HasValue)
                     {
                     {
                         whereClauses.Add("SyncNewContent=?");
                         whereClauses.Add("SyncNewContent=?");

+ 1 - 0
MediaBrowser.Model/Sync/SyncJobQuery.cs

@@ -24,6 +24,7 @@ namespace MediaBrowser.Model.Sync
         /// <value>The user identifier.</value>
         /// <value>The user identifier.</value>
         public string UserId { get; set; }
         public string UserId { get; set; }
         public string ExcludeTargetIds { get; set; }
         public string ExcludeTargetIds { get; set; }
+        public string ItemId { get; set; }
         /// <summary>
         /// <summary>
         /// Gets or sets the status.
         /// Gets or sets the status.
         /// </summary>
         /// </summary>