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, CL_GroupVideoQuality gvq)
        {
            Cursor = Cursors.Wait;

            GroupVideoQuality = gvq;
            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>();

                List <VM_VideoDetailed> vids = VM_ShokoServer.Instance.ShokoServices.GetFilesByGroupAndResolution(AnimeID,
                                                                                                                  GroupVideoQuality.GroupName, GroupVideoQuality.Resolution, GroupVideoQuality.VideoSource, GroupVideoQuality.VideoBitDepth, VM_ShokoServer.Instance.CurrentUser.JMMUserID).CastList <VM_VideoDetailed>();
                foreach (VM_VideoDetailed vid in vids)
                {
                    foreach (CL_VideoLocal_Place vv in vid.Places.Cast <CL_VideoLocal_Place>())
                    {
                        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           = GroupVideoQuality.GroupName;
                SummaryText         = $"{GroupVideoQuality.VideoSource} - {GroupVideoQuality.Resolution}";
                InitImportFolders(types);
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
            finally
            {
                Cursor = Cursors.Arrow;
            }
        }
示例#3
0
 public static string GetPrettyDescription(this CL_GroupVideoQuality CL_GroupVideoQuality)
 {
     return(String.Format("{0} - {1}/{2} - {3}/{4} " + Translation.Files, CL_GroupVideoQuality.GroupNameShort, CL_GroupVideoQuality.Resolution, CL_GroupVideoQuality.VideoSource, CL_GroupVideoQuality.FileCountNormal, CL_GroupVideoQuality.FileCountSpecials));
 }