public void RefreshDownloadItems() { if (!m_Releases.Any()) { RefreshAfterSynchronize(null); } DownloadItemsMode type = DownloadItemsMode.All; switch (m_SelectedSection.Type) { case DownloadSectionType.All: type = DownloadItemsMode.All; break; case DownloadSectionType.Downloading: type = DownloadItemsMode.Downloading; break; case DownloadSectionType.Downloaded: type = DownloadItemsMode.Downloaded; break; case DownloadSectionType.NotDownloaded: type = DownloadItemsMode.NotDownloaded; break; default: throw new NotSupportedException($"Type {type} not supported"); } Downloads = m_DownloadService.GetDownloads(type) .Select(MapToModel) .ToList(); NoFilteredDownloads = !Downloads.Any(); }
/// <summary> /// Get downloads. /// </summary> /// <param name="downloadItemsMode">Download items mode.</param> /// <returns></returns> public IEnumerable <DownloadReleaseEntity> GetDownloads(DownloadItemsMode downloadItemsMode) { switch (downloadItemsMode) { case DownloadItemsMode.All: return(m_Entity.DownloadingReleases .OrderBy(a => a.Order) .ToList()); case DownloadItemsMode.Downloaded: return(m_Entity.DownloadingReleases .Where(a => a.Videos.All(b => b.IsDownloaded)) .OrderBy(a => a.Order) .ToList()); case DownloadItemsMode.Downloading: return(m_Entity.DownloadingReleases .Where(a => a.Videos.Any(b => b.IsDownloaded) && !a.Videos.All(b => b.IsDownloaded)) .OrderBy(a => a.Order) .ToList()); case DownloadItemsMode.NotDownloaded: return(m_Entity.DownloadingReleases .Where(a => !a.Videos.All(b => b.IsDownloaded)) .OrderBy(a => a.Order) .ToList()); default: throw new NotSupportedException($"Download item mode {downloadItemsMode} not supported."); } }
public void RefreshDownloadItems() { if (!m_Releases.Any()) { RefreshAfterSynchronize(null); } var selectedReleaseId = SelectedDownload?.ReleaseId; DownloadItemsMode type = DownloadItemsMode.All; switch (m_SelectedSection.Type) { case DownloadSectionType.All: type = DownloadItemsMode.All; break; case DownloadSectionType.Downloading: type = DownloadItemsMode.Downloading; break; case DownloadSectionType.Downloaded: type = DownloadItemsMode.Downloaded; break; case DownloadSectionType.NotDownloaded: type = DownloadItemsMode.NotDownloaded; break; default: throw new NotSupportedException($"Type {type} not supported"); } var downloads = m_DownloadService.GetDownloads(type) .Select(MapToModel) .ToList(); Downloads = FilterDownloads(downloads); NoFilteredDownloads = !Downloads.Any(); if (selectedReleaseId.HasValue) { SelectedDownload = Downloads.FirstOrDefault(a => a.ReleaseId == selectedReleaseId.Value); } }