From ee00f8bf726ae5498d64cff0086b9b7e638936ea Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 24 Jan 2015 14:03:55 -0500 Subject: added HasSyncJob --- .../Sync/SyncRepository.cs | 27 +++++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Sync/SyncRepository.cs') diff --git a/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs b/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs index 0e527ea54..6d77749e0 100644 --- a/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs +++ b/MediaBrowser.Server.Implementations/Sync/SyncRepository.cs @@ -459,7 +459,7 @@ namespace MediaBrowser.Server.Implementations.Sync return null; } - public QueryResult GetJobItems(SyncJobItemQuery query) + private QueryResult GetJobItemReader(SyncJobItemQuery query, string baseSelectText, Func itemFactory) { if (query == null) { @@ -468,7 +468,7 @@ namespace MediaBrowser.Server.Implementations.Sync using (var cmd = _connection.CreateCommand()) { - cmd.CommandText = BaseJobItemSelectText; + cmd.CommandText = baseSelectText; var whereClauses = new List(); @@ -515,14 +515,14 @@ namespace MediaBrowser.Server.Implementations.Sync cmd.CommandText += "; select count (Id) from SyncJobItems" + whereTextWithoutPaging; - var list = new List(); + var list = new List(); var count = 0; using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess)) { while (reader.Read()) { - list.Add(GetJobItem(reader)); + list.Add(itemFactory(reader)); } if (reader.NextResult() && reader.Read()) @@ -531,7 +531,7 @@ namespace MediaBrowser.Server.Implementations.Sync } } - return new QueryResult() + return new QueryResult() { Items = list.ToArray(), TotalRecordCount = count @@ -539,6 +539,16 @@ namespace MediaBrowser.Server.Implementations.Sync } } + public QueryResult GetLibraryItemIds(SyncJobItemQuery query) + { + return GetJobItemReader(query, "select ItemId from SyncJobItems", GetItemId); + } + + public QueryResult GetJobItems(SyncJobItemQuery query) + { + return GetJobItemReader(query, BaseJobItemSelectText, GetJobItem); + } + public Task Create(SyncJobItem jobItem) { return Update(jobItem); @@ -679,10 +689,15 @@ namespace MediaBrowser.Server.Implementations.Sync info.IsMarkedForRemoval = reader.GetBoolean(13); info.JobItemIndex = reader.GetInt32(14); - + return info; } + private string GetItemId(IDataReader reader) + { + return reader.GetString(0); + } + /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// -- cgit v1.2.3