コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
ファイル: SyncService.cs プロジェクト: littlefeihu/checktask
 public async Task <HttpResponse> UpwardSyncRequestV2(UpwardRequestsInput upwardRequestsInput)
 {
     return(await ServiceAgent.RestFullServiceJsonRequest(base.GetTargetUri(), ServiceConfig.ANN_UPWARD_SYNCV2, upwardRequestsInput));
 }