Blacker.MangaScraper.Library.LibraryManager.GetDownloadInfo C# (CSharp) Метод

GetDownloadInfo() публичный Метод

public GetDownloadInfo ( IChapterRecord chapterRecord, bool prefetch ) : DownloadedChapterInfo
chapterRecord IChapterRecord
prefetch bool
Результат DownloadedChapterInfo
        public DownloadedChapterInfo GetDownloadInfo(IChapterRecord chapterRecord, bool prefetch)
        {
            if (chapterRecord == null)
                throw new ArgumentNullException("chapterRecord");

            if (String.IsNullOrEmpty(chapterRecord.ChapterId))
                throw new ArgumentException("Invalid chapter record, chapter id must not be null or empty.", "chapterRecord");

            if (!prefetch)
            {
                return GetDownloadInfo(chapterRecord);
            }

            // this not very nice way is used to workaround this issue: http://system.data.sqlite.org/index.html/tktview/393d954be0

            if (chapterRecord.MangaRecord == null)
                throw new ArgumentException("MangaRecord must not be null", "chapterRecord");

            var mangaKey = new Tuple<Guid, string>(chapterRecord.MangaRecord.Scraper, chapterRecord.MangaRecord.MangaId);
            var chapters = DownloadInfoRecordsCache[mangaKey];

            if (chapters == null)
            {
                chapters = _storage.GetChaptersInfo(chapterRecord.MangaRecord).ToDictionary(dci => dci.ChapterRecord.ChapterId);

                DownloadInfoRecordsCache[mangaKey] = chapters;
            }

            DownloadedChapterInfo downloadInfo;
            chapters.TryGetValue(chapterRecord.ChapterId, out downloadInfo);

            return downloadInfo;
        }

Same methods

LibraryManager::GetDownloadInfo ( IChapterRecord chapterRecord ) : DownloadedChapterInfo
LibraryManager::GetDownloadInfo ( string chapterId ) : DownloadedChapterInfo