Exemplo n.º 1
0
        static void DownloadArtwork(IEnumerable<Series> series)
        {
            var start = DateTime.Now;
            Total = series.Sum(e => e.ArtWorks.Count);
            Console.WriteLine("{0}: Downloading {1} Artwork files.", DateTime.Now, Total);

            var downloader = new FileDownloader();
            downloader.DownloadProgressNotification += DownloaderOnDownloadProgressNotification;

            foreach (var s in series)
            {
                foreach (var artwork in s.ArtWorks)
                {
                    var localPath = Path.Combine(s.SeriesId.ToString(), Path.GetFileName(artwork.Url.ToString()));
                    downloader.AddDownload(artwork.Url, new FileInfo(Path.Combine(Path.GetDirectoryName(localPath), artwork.Id.ToString() + Path.GetExtension(localPath))), artwork.Id);
                }
            }

            while (!downloader.IsIdle)
            {
                Thread.Sleep(1000);
            }

            Console.WriteLine("{0}: Finished. Took: {1} seconds.", DateTime.Now, Math.Round((DateTime.Now - start).TotalSeconds, 0));
        }