public void DoUpdatesOfAllBooks(IProgress progress) { int i = 0; foreach (var bookInfo in TheOneEditableCollection.GetBookInfos()) { i++; var book = _bookServer.GetBookFromBookInfo(bookInfo); //gets overwritten: progress.WriteStatus(book.TitleBestForUserDisplay); progress.WriteMessage("Processing " + book.TitleBestForUserDisplay + " " + i + "/" + TheOneEditableCollection.GetBookInfos().Count()); book.BringBookUpToDate(progress); } }
public void DuplicateBook(Book.Book book) { var newBookDir = book.Storage.Duplicate(); // Get rid of any TC status we copied from the original, so Bloom treats it correctly as a new book. BookStorage.RemoveLocalOnlyFiles(newBookDir); ReloadEditableCollection(); var dupInfo = TheOneEditableCollection.GetBookInfos() .FirstOrDefault(info => info.FolderPath == newBookDir); if (dupInfo != null) { var newBook = GetBookFromBookInfo(dupInfo); SelectBook(newBook); BookHistory.AddEvent(newBook, BookHistoryEventType.Created, $"Duplicated from existing book \"{book.Title}\""); } }
public void DoChecksOfAllBooksBackgroundWork(ProgressDialogBackground dialog, string pathToFolderOfReplacementImages) { var bookInfos = TheOneEditableCollection.GetBookInfos(); var count = bookInfos.Count(); if (count == 0) { return; } foreach (var bookInfo in bookInfos) { //not allowed in this thread: dialog.ProgressBar.Value++; dialog.Progress.ProgressIndicator.PercentCompleted += 100 / count; var book = _bookServer.GetBookFromBookInfo(bookInfo); dialog.Progress.WriteMessage("Checking " + book.TitleBestForUserDisplay); book.CheckBook(dialog.Progress, pathToFolderOfReplacementImages); dialog.ProgressString.WriteMessage(""); } dialog.ProgressBar.Value++; }