public static void ExportReleasesOld(int[] ids) { if (ids == null || ids.Length == 0) { return; } using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } string folder = dialog.SelectedPath; ProgressDialog progressDialog = new ProgressDialog { InfoText = $"exporting releases to {dialog.SelectedPath}" }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); MediaService.ExportRelease(release, folder); progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); } }
public static void ReleasesHelp(int[] ids, Help help) { string folder = null; if (help == Help.Export) { using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } folder = dialog.SelectedPath; } } ProgressDialog progressDialog = new ProgressDialog { InfoText = help.ToString() }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); if (release.videos == null || release.videos.Length == 0) { continue; } switch (help) { case Help.Download: Task.WaitAll(release.videos.Select(v => Task.Run(() => { MediaService.GetVideoFilePath(v.uri, out _, null); MediaService.GetAudioFilePath(v.uri, out _); })).ToArray()); break; case Help.Export: MediaService.ExportRelease(release, folder); break; default: return; } progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); }