Пример #1
0
        public async Task<PageInfo> PreparePrevPage()
        {
            if (_currentPage == null)
                return null;

            string startText = string.Empty;
            if (_currentPage != null)
            {
                startText = _currentPage.StartText;
            }

            var page = await _pageLoader.GetPreviousPageAsync(_currentPage.FirstTokenID, startText);
            if (page == null || page.FirstTokenID < 0)
                return null;

            _prevPage = page;

            var bgBuilder = new PageRenderer(_images);
            _bookView.PreviousTexts.Clear();
            _bookView.PreviousLinks.Clear();
            await bgBuilder.RenderPageAsync(new RenderPageRequest()
            {
                Page = page,
                Panel = _bookView.GetPrevPagePanel(),
                Texts = _bookView.PreviousTexts,
                Links=  _bookView.PreviousLinks,
                Book = _bookModel,
                Bookmarks = _bookView.Bookmarks
            });

            return page;
        }
Пример #2
0
        public async Task<PageInfo> PrepareNextPage()
        {
            string lastText = string.Empty;
            if (_currentPage != null)
            {
                lastText = _currentPage.LastTextPart;
            }

            int nextTokenId = _currentPage?.LastTokenID + 1 ?? _offset;

            var page = await _pageLoader.GetPageAsync(nextTokenId, lastText);
            if (page == null || page.FirstTokenID < 0)
                return null;

            _nextPage = page;

            var bgBuilder = new PageRenderer(_images);
            _bookView.NextTexts.Clear();
            _bookView.NextLinks.Clear();
            await bgBuilder.RenderPageAsync(new RenderPageRequest()
            {
                Page = page,
                Panel = _bookView.GetNextPagePanel(),
                Texts = _bookView.NextTexts,
                Book = _bookModel,
                Links = _bookView.NextLinks,
                Bookmarks = _bookView.Bookmarks
            });            
            return page;
        }