private void CommandBinding_DeleteAllFiles(object sender, ExecutedRoutedEventArgs e)
        {
            object obj = e.Parameter;

            if (obj == null)
            {
                return;
            }

            try
            {
                AniDB_AnimeVM anime = this.DataContext as AniDB_AnimeVM;
                if (anime == null)
                {
                    return;
                }

                Window wdw = Window.GetWindow(this);
                if (obj.GetType() == typeof(GroupVideoQualityVM))
                {
                    GroupVideoQualityVM gvq = (GroupVideoQualityVM)obj;

                    this.Cursor = Cursors.Wait;
                    DeleteFilesForm frm = new DeleteFilesForm();
                    frm.Owner = wdw;
                    frm.Init(anime.AnimeID, gvq);
                    bool?result = frm.ShowDialog();
                    if (result.Value)
                    {
                        // refresh
                        RefreshRecords();
                    }

                    this.Cursor = Cursors.Arrow;
                }

                if (obj.GetType() == typeof(GroupFileSummaryVM))
                {
                    GroupFileSummaryVM gfs = (GroupFileSummaryVM)obj;

                    this.Cursor = Cursors.Wait;
                    DeleteFilesForm frm = new DeleteFilesForm();
                    frm.Owner = wdw;
                    frm.Init(anime.AnimeID, gfs);
                    bool?result = frm.ShowDialog();
                    if (result.Value)
                    {
                        // refresh
                        RefreshRecords();
                    }

                    this.Cursor = Cursors.Arrow;
                }
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        private void CommandBinding_DeleteAllFiles(object sender, ExecutedRoutedEventArgs e)
        {
            object obj = e.Parameter;

            if (obj == null)
            {
                return;
            }

            try
            {
                VM_AniDB_Anime anime = DataContext as VM_AniDB_Anime;

                Window wdw = Window.GetWindow(this);
                if (obj.GetType() == typeof(VM_GroupVideoQuality))
                {
                    VM_GroupVideoQuality gvq = (VM_GroupVideoQuality)obj;

                    Cursor = Cursors.Wait;
                    DeleteFilesForm frm = new DeleteFilesForm();
                    frm.Owner = wdw;
                    frm.Init(anime.AnimeID, gvq);
                    bool?result = frm.ShowDialog();
                    if (result != null && result.Value)
                    {
                        // refresh
                        RefreshRecords();
                    }

                    Cursor = Cursors.Arrow;
                }

                if (obj.GetType() == typeof(VM_GroupFileSummary))
                {
                    VM_GroupFileSummary gfs = (VM_GroupFileSummary)obj;

                    Cursor = Cursors.Wait;
                    DeleteFilesForm frm = new DeleteFilesForm();
                    frm.Owner = wdw;
                    frm.Init(anime.AnimeID, gfs);
                    bool?result = frm.ShowDialog();
                    if (result != null && result.Value)
                    {
                        // refresh
                        RefreshRecords();
                    }

                    Cursor = Cursors.Arrow;
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Unable to Delete All Files");
                Utils.ShowErrorMessage(ex);
            }
        }