private void PrepareThumbnailIfFirstPage(ILibrary libManager, BookViewModel parent, PageViewModel page) { if (page.PageIndex == Specifications.PAGEINDEX_FIRSTPAGE) { ThumbnailGenerating.GenerateThumbnail(page.Image, _dataOpUnit); libManager.AccessDispatcherObject(() => parent.FirstPage = page); libManager.AccessDispatcherObject(() => parent.IsLoaded = true); } }
private void ImportBookWithContents(ILibrary libManager, BookViewModel add) { ImportBook(libManager, add); CopyPages(libManager, add); CopyImageTag(libManager, add); libManager.AccessDispatcherObject(() => add.ContentsRegistered = true); }
private void ImportPage(ILibrary libManager, BookViewModel parent, PageViewModel page) { PageDao pageDao = new PageDao(); pageDao.Insert(page.ToEntity(), _dataOpUnit.CurrentConnection); libManager.AccessDispatcherObject(() => parent.AddPage(page)); }
private IEnumerable <Task> GenerateTasksToImportBook(ILibrary libManager, BookViewModel addBook) { List <Task> ret = new List <Task>(); ret.Add(new Task(() => ImportBook(libManager, addBook))); EnumeratePages(addBook); foreach (var addPage in _pages) { ret.AddRange(GenerateTasksToImportPage(libManager, addBook, addPage)); } ret.Add(new Task(() => CopyImageTag(libManager, addBook))); ret.Add(new Task(() => libManager.AccessDispatcherObject(() => addBook.ContentsRegistered = true))); return(ret); }
private void ProcessChildren(ILibrary library, List <Task> ret, string directoryPath, Importer child, DataOperationUnit dataOpUnit, Action <Importer, BookViewModel> progressUpdatingAction) { if (child is ImportPage) { var ip = child as ImportPage; ip.PageIndex = Processed + Specifications.PAGEINDEX_FIRSTPAGE; ip.TotalPageCount = _children.Count(); ip.PageTitle = child.Name; } var tasks = child.GenerateTasks(library, directoryPath, System.IO.Path.GetFileNameWithoutExtension(child.Path), dataOpUnit, progressUpdatingAction); ret.AddRange(tasks); if (child is ImportPage) { var ip = child as ImportPage; ret.Add(new Task(() => library.AccessDispatcherObject(() => _book.AddPage(ip.GeneratedPage)))); } ret.Add(new Task(() => { ++Processed; progressUpdatingAction.Invoke(this, _book); })); }
private static void RemovePageFromBook(ILibrary libVM, PageViewModel page) { var bookInLib = libVM.BookSource.Where(b => b.ID == page.BookID).Single(); libVM.AccessDispatcherObject(() => bookInLib.RemovePage(page)); }