Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }