Пример #1
0
 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);
     }
 }
Пример #2
0
 private void ImportBookWithContents(ILibrary libManager, BookViewModel add)
 {
     ImportBook(libManager, add);
     CopyPages(libManager, add);
     CopyImageTag(libManager, add);
     libManager.AccessDispatcherObject(() => add.ContentsRegistered = true);
 }
Пример #3
0
        private void ImportPage(ILibrary libManager, BookViewModel parent, PageViewModel page)
        {
            PageDao pageDao = new PageDao();

            pageDao.Insert(page.ToEntity(), _dataOpUnit.CurrentConnection);

            libManager.AccessDispatcherObject(() => parent.AddPage(page));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }));
        }
Пример #6
0
        private static void RemovePageFromBook(ILibrary libVM, PageViewModel page)
        {
            var bookInLib = libVM.BookSource.Where(b => b.ID == page.BookID).Single();

            libVM.AccessDispatcherObject(() => bookInLib.RemovePage(page));
        }