예제 #1
0
        private void AddBookmark(string text, TextRenderData first, TextRenderData last, Color color)
        {
            BookmarkModel bookmark = _bookmarkRepository.AddBookmark(
                ViewModel.BookId,
                PageCanvas.Bookmarks,
                text,
                ColorHelper.ToInt32(color),
                first.TokenID,
                last.TokenID);

            var previousPageWord = PageCanvas.PreviousTexts.LastOrDefault() ?? new TextRenderData();

            if (first.TokenID == previousPageWord.TokenID)
            {
                PageCanvas.Highlight(PageCanvas.GetPrevPagePanel(), previousPageWord.Rect, previousPageWord.Rect, bookmark, color);
            }

            var nextPageWord = PageCanvas.NextTexts.FirstOrDefault() ?? new TextRenderData();

            if (last.TokenID == nextPageWord.TokenID)
            {
                PageCanvas.Highlight(PageCanvas.GetNextPagePanel(), nextPageWord.Rect, nextPageWord.Rect, bookmark, color);
            }

            PageCanvas.Highlight(PageCanvas.GetCurrentPagePanel(), first.Rect, last.Rect, bookmark, color);
        }
        public void AddBookmark()
        {
            var    book = _bookRepository.Get(BookId);
            int    lastTokenId;
            string text                       = _bookTool.GetText(book, book.CurrentTokenID, 20, out lastTokenId);
            var    bookmark                   = _bookmarkRepository.AddBookmark(BookId, new List <BookmarkModel>(), text, ColorHelper.ToInt32(Color.FromArgb(0xFF, 0xE5, 0x14, 0x00)), book.CurrentTokenID, lastTokenId);
            var    bookmarkDataModel          = _bookmarksController.CreateBookmarkDataModel(bookmark);
            var    bookmarkDataModelWithTitle = _bookmarksController.CreateBookmarkDataModel(bookmark, book.Title);

            _thisBookBookmarksViewModel.AddBookmarkAsync(bookmarkDataModel);
            _allBooksBookmarksViewModel.AddBookmarkAsync(bookmarkDataModelWithTitle);
        }
예제 #3
0
 public Bookmark AddBookmark(string userId, Bookmark bookmark) =>
 _bookmarkRepository.AddBookmark(userId, bookmark);