AerialForWindows.Services.MovieManager.DownloadMovies C# (CSharp) Méthode

DownloadMovies() private méthode

private DownloadMovies ( ) : bool
Résultat bool
        private bool DownloadMovies() {
            using (var bitsManager = new BitsManager()) {
                bitsManager.OnInterfaceError += (sender, args) => _logger.Error("BITS error: {0}\n{1}", args.Message, args.Description);

                if (CheckRunningJob(bitsManager)) {
                    return false;
                }

                var moviesToDownload = _movies
                    .Where(m => string.IsNullOrEmpty(m.LocalPath) || !File.Exists(m.LocalPath))
                    .Take(200)
                    .ToList();

                if (moviesToDownload.Any()) {
                    var job = bitsManager.CreateJob("AerialForWindows", JobType.Download);
                    job.Priority = JobPriority.Low;
                    job.MinimumRetryDelay = 5 * 60; // 5 minutes
                    job.NoProgressTimeout = 30 * 60; // 30 minutes

                    foreach (var movie in moviesToDownload) {
                        var localPath = GetLocalPathForMovie(movie);
                        movie.LocalPath = localPath;
                        job.AddFile(movie.DownloadUrl, localPath);
                    }

                    job.Resume();
                    Settings.Instance.BitsJobId = job.JobId;
                    Settings.Instance.Save();

                    _logger.Debug($"Startet download of {moviesToDownload.Count} files");

                    return true;
                }
                return false;
            }
        }