added HasSyncJob

This commit is contained in:
Luke Pulverenti
2015-01-24 14:03:55 -05:00
parent 1af651bc56
commit ee00f8bf72
51 changed files with 420 additions and 166 deletions

View File

@@ -459,7 +459,7 @@ namespace MediaBrowser.Server.Implementations.Sync
return null;
}
public QueryResult<SyncJobItem> GetJobItems(SyncJobItemQuery query)
private QueryResult<T> GetJobItemReader<T>(SyncJobItemQuery query, string baseSelectText, Func<IDataReader, T> 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<string>();
@@ -515,14 +515,14 @@ namespace MediaBrowser.Server.Implementations.Sync
cmd.CommandText += "; select count (Id) from SyncJobItems" + whereTextWithoutPaging;
var list = new List<SyncJobItem>();
var list = new List<T>();
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<SyncJobItem>()
return new QueryResult<T>()
{
Items = list.ToArray(),
TotalRecordCount = count
@@ -539,6 +539,16 @@ namespace MediaBrowser.Server.Implementations.Sync
}
}
public QueryResult<string> GetLibraryItemIds(SyncJobItemQuery query)
{
return GetJobItemReader(query, "select ItemId from SyncJobItems", GetItemId);
}
public QueryResult<SyncJobItem> 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);
}
/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>