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); }
public Bookmark AddBookmark(string userId, Bookmark bookmark) => _bookmarkRepository.AddBookmark(userId, bookmark);