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); } } }
public int UpdateDlBookStatus(int bookId, DlStatusEnum dlStatus, UserCredential userCredential) { return(Execute(updateDlBookStatus, (short)dlStatus, userCredential.Email, userCredential.ServiceCode, bookId)); }