Пример #1
0
        public async Task <bool> DlFileStatusUpdate(DlFileStatusUpdate dlFileStatusUpdate, CancellationToken token = default(CancellationToken))
        {
            bool updateResult = false;

            try
            {
                var requestResult = await ServiceAgent.RestFullServiceJsonRequest(base.GetTargetUri(), ServiceConfig.DL_FILE_STATUS_UPDATE, dlFileStatusUpdate, token);

                if (requestResult.IsSuccess)
                {
                    var item = JsonConvert.DeserializeObject <DlUpdateStatus>(requestResult.Content);
                    updateResult = item.Status;
                }
            }
            catch (Exception)
            {
            }
            return(updateResult);
        }
Пример #2
0
        private async Task <bool> RemoveDlFromServer(DlBook localDlBook, UserCredential userCredential)
        {
            // in consideration of deleting dlbook in offline mode
            int deleteVersion = localDlBook.LastDownloadedVersion == 0 ? localDlBook.CurrentVersion : localDlBook.LastDownloadedVersion;
            // Used to validate the Status Code given by eReader.
            // Status Code : 1 => DL file Successfully downloaded by eReader.
            // Status Code : 2 => DL file deleted by the user.
            // Status Code : 3 => DL file deleted by eReader(backend).
            string             dlDeletedStatus    = "2";
            DlFileStatusUpdate dlFileStatusUpdate = new DlFileStatusUpdate
            {
                DeviceId   = GlobalAccess.DeviceId,
                Email      = userCredential.Email,
                DLId       = localDlBook.BookId,
                Ver        = deleteVersion.ToString(),
                StatusCode = dlDeletedStatus
            };
            var updateResult = await deliveryService.DlFileStatusUpdate(dlFileStatusUpdate);

            return(updateResult);
        }
Пример #3
0
        public async Task DownLoadDlBook(DlBook serverDlBook, CancellationToken cancelToken, DownloadProgressEventHandler downloadHandler)
        {
            var downLoadSuccess = await deliveryService.DlFileDownload(serverDlBook, cancelToken, downloadHandler);

            if (!downLoadSuccess)
            {
                throw new Exception("DlFileDownload failure");
            }

            DlFileStatusUpdate dlFileStatusUpdate = new DlFileStatusUpdate
            {
                DeviceId = GlobalAccess.DeviceId,
                Email    = GlobalAccess.Instance.CurrentUserInfo.Email,
                //DLId = serverDlBook.BookId,
                Ver        = serverDlBook.CurrentVersion.ToString(),
                StatusCode = ((int)DlStatusEnum.Downloaded).ToString()
            };
            var updateSuccess = await deliveryService.DlFileStatusUpdate(dlFileStatusUpdate, cancelToken);

            if (!updateSuccess)
            {
                throw new Exception("DlFileStatusUpdate failure");
            }
        }