Example #1
0
        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);
        }
Example #2
0
        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();
            });
        }