public static IList <FormatData> Show(IList <FormatData> data, Form parent) { DeleteForm form = new DeleteForm(); form.Platforms = data.Select(f => f.PlatformData.Platform).Distinct().ToList(); for (int i = 0; i < form.Platforms.Count; i++) { form.PlatformList.Items.Add(form.Platforms[i].Name); form.PlatformList.SelectedIndices.Add(i); } List <FormatData> list = new List <FormatData>(); if (form.ShowDialog(parent) == DialogResult.Cancel) { return(list); } foreach (int i in form.PlatformList.SelectedIndices) { list.AddRange(data.Where(f => f.PlatformData.Platform == form.Platforms[i])); } return(list); }
private void QueueDelete(IList <FormatData> datalist) { if (datalist.Select(f => f.PlatformData.Platform).Distinct().Count() > 1) { datalist = DeleteForm.Show(datalist, this); } if (datalist.Count == 0) { return; } GetAsyncProgress().QueueTask(progress => { progress.NewTask("Deleting Songs", datalist.Count); foreach (FormatData data in datalist) { data.PlatformData.Platform.DeleteSong(data.PlatformData, data, progress); progress.Progress(); } UpdateSongList(); progress.EndTask(); }); }