private async Task TurnPage(bool isRight) { _oldOffset = null; await _event.WaitAsync(); AppBar.CancelPageSelectionMode(); if (isRight) { await _readController.ShowNextPage(); } else { await _readController.ShowPrevPage(); } ViewModel.TokenOffset = _readController.Offset; AppBar.PageNumber = _readController.CurrentPage; PageCanvas.Manipulator.IsFirstPage = _readController.IsFirst; PageCanvas.Manipulator.IsLastPage = _readController.IsLast; PageCanvas.Manipulator.UpdatePanelsVisibility(); _event.Release(); }
private async Task CreateController() { using (await BusyOverlay.Create()) { _book = _bookRepository.Get(ViewModel.BookId); if (_book == null) { return; } _readController = new ReadController(PageCanvas, ViewModel.BookId, _bookRepository, ViewModel.TokenOffset); await _readController.ShowNextPage(); PageCanvas.Manipulator.UpdatePanelsVisibility(); PageCanvas.Manipulator.IsFirstPage = _readController.IsFirst; PageCanvas.Manipulator.IsLastPage = _readController.IsLast; AppBar.TotalPages = _readController.TotalPages; AppBar.PageNumber = _readController.CurrentPage; AppBar.MenuItems[2].IsEnabled = ViewModel.CanPinToDesktop; if (_book.Trial) { AppBar.IconButtons = CreateAppBarIconsForTrial(); } else { AppBar.IconButtons[2].IsEnabled = true; UpdateIsFavouriteAppBarButton(_book.IsFavourite); } } }