private void ProgressHandler(long releaseId, int videoId, int progress, long speed, VideoQuality quality, long downloaded)
        {
            var release = m_Downloads.FirstOrDefault(a => a.ReleaseId == releaseId);

            if (release == null)
            {
                return;
            }

            var downloadRelease = m_DownloadService.GetDownloadRelease(releaseId);

            release.CurrentDownloadVideo = downloadRelease.Videos
                                           .Where(a => a.Id == videoId)
                                           .FirstOrDefault(a => a.IsProgress)?.Id ?? 0;
            release.DownloadProgress    = progress;
            release.DownloadedHdVideos  = downloadRelease.Videos.Count(a => a.IsDownloaded && a.Quality == VideoQuality.HD);
            release.AllDownloadedSize   = downloadRelease.Videos.Any() ? FileHelper.GetFileSize((long)downloadRelease.Videos.Sum(a => (long)a.DownloadedSize)) : FileHelper.GetFileSize(0);
            release.DownloadedSdVideos  = downloadRelease.Videos.Count(a => a.IsDownloaded && a.Quality == VideoQuality.SD);
            release.DownloadSpeed       = FileHelper.GetFileSize(speed) + "/с";
            release.NotDownloadedVideos = downloadRelease.Videos.Count(a => !a.IsDownloaded);
            release.Active = downloadRelease.Active && downloadRelease.Videos.Any(a => a.IsProgress);

            var displayQuality = GetDisplayQuality(quality);
            var video          = release.Videos.Where(a => a.Order == videoId && a.Quality == displayQuality).FirstOrDefault();

            if (video == null)
            {
                return;
            }

            video.IsProgress     = true;
            video.DownloadedSize = FileHelper.GetFileSize(downloaded);
        }
Esempio n. 2
0
        private void ProgressHandler(long releaseId, int videoId, int progress, long speed)
        {
            var release = m_Downloads.FirstOrDefault(a => a.ReleaseId == releaseId);

            if (release == null)
            {
                return;
            }

            var downloadRelease = m_DownloadService.GetDownloadRelease(releaseId);

            release.CurrentDownloadVideo = downloadRelease.Videos
                                           .Where(a => a.Id == videoId)
                                           .FirstOrDefault(a => a.IsProgress)?.Id ?? 0;
            release.DownloadProgress    = progress;
            release.DownloadedHdVideos  = downloadRelease.Videos.Count(a => a.IsDownloaded && a.Quality == VideoQuality.HD);
            release.DownloadedSdVideos  = downloadRelease.Videos.Count(a => a.IsDownloaded && a.Quality == VideoQuality.SD);
            release.DownloadSpeed       = FileHelper.GetFileSize(speed) + "/с";
            release.NotDownloadedVideos = downloadRelease.Videos.Count(a => !a.IsDownloaded);
        }