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; if (anime == null) { return; } Window wdw = Window.GetWindow(this); if (obj.GetType() == typeof(CL_GroupVideoQuality)) { CL_GroupVideoQuality gvq = (CL_GroupVideoQuality)obj; Cursor = Cursors.Wait; DeleteFilesForm frm = new DeleteFilesForm(); frm.Owner = wdw; frm.Init(anime.AnimeID, gvq); bool?result = frm.ShowDialog(); if (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.Value) { // refresh RefreshRecords(); } Cursor = Cursors.Arrow; } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
public void Init(int animeID, VM_GroupFileSummary gfs) { Cursor = Cursors.Wait; GroupFileSummary = gfs; AnimeID = animeID; // get the videos try { VM_ShokoServer.Instance.RefreshCloudAccounts(); dict = VM_ShokoServer.Instance.FolderProviders.ToDictionary(a => a.CloudID, a => new Tuple <string, BitmapImage>(a.Provider, a.Bitmap)); chks = new Dictionary <string, bool>(); Dictionary <string, BitmapImage> types = new Dictionary <string, BitmapImage>(); vids = VM_ShokoServer.Instance.ShokoServices.GetFilesByGroup(AnimeID, GroupFileSummary.GroupName, VM_ShokoServer.Instance.CurrentUser.JMMUserID).CastList <VM_VideoDetailed>(); foreach (VM_VideoDetailed vid in vids) { foreach (CL_VideoLocal_Place vv in vid.Places) { Tuple <string, BitmapImage> tup = dict[vv.ImportFolder.CloudID ?? 0]; if (!types.ContainsKey(tup.Item1)) { chks[tup.Item1] = true; types.Add(tup.Item1, tup.Item2); } } } FileCount = vids.Count; lbFiles.ItemsSource = vids; GroupName = GroupFileSummary.GroupName; SummaryText = ""; InitImportFolders(types); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }