public bool RefreshBookInfo(List <Book> books, List <Book> remoteBooks, Author remoteData, bool forceAlbumRefresh, bool forceUpdateFileTags, DateTime?lastUpdate) { var updated = false; HashSet <string> updatedGoodreadsBooks = null; if (lastUpdate.HasValue && lastUpdate.Value.AddDays(14) > DateTime.UtcNow) { updatedGoodreadsBooks = _bookInfo.GetChangedBooks(lastUpdate.Value); } foreach (var book in books) { if (forceAlbumRefresh || (updatedGoodreadsBooks == null && _checkIfBookShouldBeRefreshed.ShouldRefresh(book)) || (updatedGoodreadsBooks != null && updatedGoodreadsBooks.Contains(book.ForeignBookId))) { updated |= RefreshBookInfo(book, remoteBooks, remoteData, forceUpdateFileTags); } else { _logger.Debug("Skipping refresh of book: {0}", book.Title); } } return(updated); }
public bool RefreshBookInfo(List <Book> books, List <Book> remoteBooks, Author remoteData, bool forceBookRefresh, bool forceUpdateFileTags, DateTime?lastUpdate) { var updated = false; foreach (var book in books) { if (forceBookRefresh || _checkIfBookShouldBeRefreshed.ShouldRefresh(book)) { updated |= RefreshBookInfo(book, remoteBooks, remoteData, forceUpdateFileTags); } else { _logger.Debug("Skipping refresh of book: {0}", book.Title); } } return(updated); }