Example #1
0
        private async Task EnsureSyncJobItems(string targetId, CancellationToken cancellationToken)
        {
            var jobResult = _syncRepo.GetJobs(new SyncJobQuery
            {
                SyncNewContent = true,
                TargetId       = targetId
            });

            foreach (var job in jobResult.Items)
            {
                cancellationToken.ThrowIfCancellationRequested();

                if (job.SyncNewContent)
                {
                    var user = _userManager.GetUserById(job.UserId);

                    if (user == null)
                    {
                        await _syncManager.CancelJob(job.Id).ConfigureAwait(false);
                    }
                    else
                    {
                        await EnsureJobItems(job, user).ConfigureAwait(false);
                    }
                }
            }
        }