Пример #1
0
        private async Task DeletePublication(int bookId, DlStatusEnum dlStatus, UserCredential userCredential)
        {
            var localDlBook = publicationAccess.GetDlBookByBookId(bookId, userCredential);

            if (localDlBook != null)
            {
                await localDlBook.DeleteDlBookInstallFile();

                if (dlStatus == DlStatusEnum.RemovedByUser)
                {
                    var removedByUserSuccess = (publicationAccess.UpdateDlBookStatus(bookId, DlStatusEnum.RemovedByUser, userCredential) > 0);
                    if (removedByUserSuccess)
                    {
                        ClearRelevantDlBookData(bookId, userCredential);
                    }
                    var pingSuccess = await connectionMonitor.PingService(null);

                    if (pingSuccess)
                    {
                        bool removeSuccess = await RemoveDlFromServer(localDlBook, userCredential);

                        if (removeSuccess)
                        {
                            RemoveDlBookFromDb(bookId, userCredential);
                        }
                    }
                }
                else if (dlStatus == DlStatusEnum.RemovedByEreader)
                {
                    ClearRelevantDlBookData(bookId, userCredential);
                    RemoveDlBookFromDb(bookId, userCredential);
                }
            }
        }
Пример #2
0
 public int UpdateDlBookStatus(int bookId, DlStatusEnum dlStatus, UserCredential userCredential)
 {
     return(Execute(updateDlBookStatus, (short)dlStatus, userCredential.Email, userCredential.ServiceCode, bookId));
 }