public async void AddBookmarkAsync(BookmarkItemDataModel bookmarkDataModel) { if (Bookmarks == null) { return; } int index = await Task <int> .Factory.StartNew(() => { int i = 0; var bookmark = Bookmarks .Where(b => b.Bookmark.BookID == bookmarkDataModel.Bookmark.BookID) .LastOrDefault(b => b.Bookmark.TokenID <= bookmarkDataModel.Bookmark.TokenID); if (bookmark == null) { bookmark = Bookmarks .LastOrDefault(b => System.String.Compare( b.Bookmark.BookID, bookmarkDataModel.Bookmark.BookID, System.StringComparison.Ordinal) < 0); } if (bookmark != null) { i = Bookmarks.IndexOf(bookmark) + 1; } return(i); }); Bookmarks.Insert(index, bookmarkDataModel); }
public void OnBookmarkClick(BookmarkItemDataModel itemDataModel) { _navigationService .UriFor <ReadPageViewModel>() .WithParam(vm => vm.BookId, itemDataModel.Bookmark.BookID) .WithParam(vm => vm.TokenOffset, itemDataModel.Bookmark.TokenID) .WithParam(vm => CatalogId, CatalogId) .WithParam(vm => vm.CatalogBookItemKey, TransientStorage.Put(CatalogBookItemModel)) .Navigate(); }
public BookmarkItemDataModel CreateBookmarkDataModel(BookmarkModel bookmark, string bookTitle = null) { var dataModel = new BookmarkItemDataModel(); dataModel.BookmarkText = bookmark.Text; dataModel.Color = new SolidColorBrush(ColorHelper.ToColor(bookmark.Color)); dataModel.Bookmark = bookmark; dataModel.BookTitle = bookTitle; return(dataModel); }