/// <summary> /// A dumbed down implementation that is able to return a book with the BookInfo and set the book's FolderPath. /// </summary> /// <returns></returns> public override Bloom.Book.Book GetBookFromBookInfo(BookInfo bookInfo, bool forSelectedBook = false) { var collectionSettings = new Bloom.Collection.CollectionSettings(); var fileLocator = new Bloom.BloomFileLocator(collectionSettings, new XMatterPackFinder(Enumerable.Empty <string>()), Enumerable.Empty <string>(), Enumerable.Empty <string>(), Enumerable.Empty <string>()); // Setting storage is neeeded to get it to populate the book's FolderPath. var storage = new BookStorage(bookInfo.FolderPath, fileLocator, new Bloom.BookRenamedEvent(), collectionSettings); var book = new Bloom.Book.Book(bookInfo, storage); return(book); }
/// <summary> /// Remove any Bloom Enterprise-only pages if Bloom Enterprise is not enabled. /// Also renumber the pages if any are removed. /// </summary> /// <returns><c>true</c>, if any pages were removed, <c>false</c> otherwise.</returns> public static bool RemoveEnterprisePagesIfNeeded(Bloom.Collection.CollectionSettings settings, HtmlDom dom, List <XmlElement> pageElts) { if (!settings.HaveEnterpriseFeatures) { var pageRemoved = false; foreach (var page in pageElts.ToList()) { if (Book.Book.IsPageBloomEnterpriseOnly(page)) { page.ParentNode.RemoveChild(page); pageElts.Remove(page); pageRemoved = true; } } if (pageRemoved) { dom.UpdatePageNumberAndSideClassOfPages(settings.CharactersForDigitsForPageNumbers, settings.Language1.IsRightToLeft); return(true); } } return(false); }