sync updates

This commit is contained in:
Luke Pulverenti
2014-12-17 00:30:31 -05:00
parent febaab13bf
commit 13274348e9
62 changed files with 456 additions and 224 deletions

View File

@@ -59,6 +59,15 @@ namespace MediaBrowser.Server.Implementations.Sync
foreach (var item in items)
{
// Respect ItemLimit, if set
if (job.ItemLimit.HasValue)
{
if (jobItems.Count >= job.ItemLimit.Value)
{
break;
}
}
var itemId = item.Id.ToString("N");
var jobItem = jobItems.FirstOrDefault(i => string.Equals(i.ItemId, itemId, StringComparison.OrdinalIgnoreCase));
@@ -89,6 +98,13 @@ namespace MediaBrowser.Server.Implementations.Sync
await UpdateJobStatus(job, jobItems).ConfigureAwait(false);
}
public Task UpdateJobStatus(string id)
{
var job = _syncRepo.GetJob(id);
return UpdateJobStatus(job);
}
private Task UpdateJobStatus(SyncJob job)
{
if (job == null)

View File

@@ -265,5 +265,24 @@ namespace MediaBrowser.Server.Implementations.Sync
return null;
}
public async Task ReportSyncJobItemTransferred(string id)
{
var jobItem = _repo.GetJobItem(id);
jobItem.Status = SyncJobItemStatus.Completed;
jobItem.Progress = 100;
await _repo.Update(jobItem).ConfigureAwait(false);
var processor = new SyncJobProcessor(_libraryManager, _repo, this, _logger, _userManager);
await processor.UpdateJobStatus(jobItem.JobId).ConfigureAwait(false);
}
public SyncJobItem GetJobItem(string id)
{
return _repo.GetJobItem(id);
}
}
}

View File

@@ -352,6 +352,11 @@ namespace MediaBrowser.Server.Implementations.Sync
}
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = SyncJobStatus.Completed.ToString();
}
if (!string.IsNullOrWhiteSpace(query.TargetId))
{
whereClauses.Add("TargetId=@TargetId");
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
}
var whereTextWithoutPaging = whereClauses.Count == 0 ?
string.Empty :
@@ -447,6 +452,16 @@ namespace MediaBrowser.Server.Implementations.Sync
whereClauses.Add("JobId=@JobId");
cmd.Parameters.Add(cmd, "@JobId", DbType.String).Value = query.JobId;
}
if (!string.IsNullOrWhiteSpace(query.TargetId))
{
whereClauses.Add("TargetId=@TargetId");
cmd.Parameters.Add(cmd, "@TargetId", DbType.String).Value = query.TargetId;
}
if (query.Status.HasValue)
{
whereClauses.Add("Status=@Status");
cmd.Parameters.Add(cmd, "@Status", DbType.String).Value = query.Status.Value.ToString();
}
if (query.IsCompleted.HasValue)
{