Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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();
        }
Beispiel #3
0
        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);
        }