protected override async void OnStop() { try { UserDialogs.Instance.ShowLoading(); var bookToUpdate = _context.Books.Include(b => b.LastPosition).FirstOrDefault(b => b.BookId == book.BookId); var bookmarkToDelete = bookToUpdate.LastPosition; bookToUpdate.LastPosition = CreateBookmarkFromCurrentPosition(); //await _context.SaveChangesAsync(); if (bookmarkToDelete != null) { _context.BookMarks.Remove(bookmarkToDelete); } await _context.SaveChangesAsync(); } catch (Exception e) { } finally { UserDialogs.Instance.HideLoading(); base.OnStop(); } }
private async Task RemoveBookFromDatabaseAndClearData(Book book) { var bookToRemove = _dbcontext.Books.FirstOrDefault(b => b.BookId == book.BookId); _dbcontext.Books.Remove(bookToRemove); await _dbcontext.SaveChangesAsync(); book.RemoveData(); }
private async void FabOnClick(object sender, EventArgs e) { FileData fileData; try { fileData = await CrossFilePicker.Current.PickFile(new string[] { ".epub" }); } catch (FormatException) { return; } if (fileData == null) { return; } var bookId = Guid.NewGuid().ToString(); var path = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), bookId); Directory.CreateDirectory(path); ZipFile.ExtractToDirectory(fileData.FilePath, path); var book = new Book { BookId = bookId }; book.FillMetadata(); await _context.Books.AddAsync(book); await _context.SaveChangesAsync(); _adapter.AddBook(book); }