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); }
protected override async void GetBookmarksAsync() { _busyIndicatorManager.Start(); var bookmarks = await Task <IEnumerable <BookmarkModel> > .Factory.StartNew(() => _bookmarkRepository.GetBookmarks()); var books = await Task <IEnumerable <BookModel> > .Factory.StartNew(() => _bookRepository.GetAll()); var bookmarksWithBooks = Enumerable.Join(bookmarks, books, bm => bm.BookID, b => b.BookID, (bookmark, book) => new { Bookmark = bookmark, Book = book }); Bookmarks = new BindableCollection <BookmarkItemDataModel>(bookmarksWithBooks .Select(b => _bookmarksController.CreateBookmarkDataModel(b.Bookmark, b.Book != null ? b.Book.Title : null))); _busyIndicatorManager.Stop(); }
protected override async void GetBookmarksAsync() { _busyIndicatorManager.Start(); var book = await Task <BookModel> .Factory.StartNew(() => _bookRepository.Get(BookId, false)); if (book != null) { EmptyContent = string.Format("{0} \"{1}\"", UIStrings.BookmarksPivot_ThisBook_EmptyList, book.Title); } else { EmptyContent = UIStrings.BookmarksPivot_ThisBook_EmptyList; } var bookmarks = await Task <IEnumerable <BookmarkModel> > .Factory.StartNew(() => _bookmarkService.GetBookmarks(BookId)); Bookmarks = new BindableCollection <BookmarkItemDataModel>(bookmarks .Select(bm => _bookmarksController.CreateBookmarkDataModel(bm))); _busyIndicatorManager.Stop(); }