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);
            }
        }
Exemplo n.º 2
0
        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;
            }
        }