public async Task PerformAction(AnnotationTaskContext context) { if (context.AnnotationSyncTask.BookIds == null || !context.AnnotationSyncTask.BookIds.Any()) { throw new InvalidOperationException("Book Id Shouldn't be empty."); } List <UpwardRequests> requests = new List <UpwardRequests>(); foreach (var bookId in context.AnnotationSyncTask.BookIds) { var unSyncedAnnotations = context.AnnotationAccess.GetUnSyncedAnnotations(context.AnnotationSyncTask.Email, context.AnnotationSyncTask.ServiceCode, bookId); if (unSyncedAnnotations.Count == 0) { continue; } allUnSyncedAnnotations.AddRange(unSyncedAnnotations); requests.Add(BuildRequest(context, bookId, unSyncedAnnotations)); } if (requests.Count > 0) { UpwardRequestsInput upwardRequestsInput = new UpwardRequestsInput(); upwardRequestsInput.UpwardRequests = requests; var upwardResult = await context.SyncService.UpwardSyncRequestV2(upwardRequestsInput); if (upwardResult.IsSuccess) { UpwardProcess(context, upwardResult.Content); } } }
public async Task <HttpResponse> UpwardSyncRequestV2(UpwardRequestsInput upwardRequestsInput) { return(await ServiceAgent.RestFullServiceJsonRequest(base.GetTargetUri(), ServiceConfig.ANN_UPWARD_SYNCV2, upwardRequestsInput)); }