Ejemplo n.º 1
0
        void lbVideos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                ccDetail.Content = null;

                AnyVideosSelected      = lbVideos.SelectedItems.Count > 0;
                OneVideoSelected       = lbVideos.SelectedItems.Count == 1;
                MultipleVideosSelected = lbVideos.SelectedItems.Count > 1;

                // if only one video selected
                if (OneVideoSelected)
                {
                    VM_AVDump vid = lbVideos.SelectedItem as VM_AVDump;
                    ccDetail.Content = vid;
                }
                else if (MultipleVideosSelected)
                {
                    MultipleAvdumps mv = new MultipleAvdumps()
                    {
                        SelectedCount = lbVideos.SelectedItems.Count,
                        AVDumps       = new List <VM_AVDump>()
                    };

                    foreach (object obj in lbVideos.SelectedItems)
                    {
                        VM_AVDump vid = obj as VM_AVDump;
                        mv.AVDumps.Add(vid);
                    }

                    ccDetail.Content = mv;
                }

                var control = Utils.FindElementByName <AvdumpFileControl>(ccDetail, "FileDetails");
                control.DumpSingle   = OneVideoSelected;
                control.DumpMultiple = MultipleVideosSelected;


                //SetConfirmDetails();
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
Ejemplo n.º 2
0
        void lbVideos_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                ccDetail.Content = null;

                AnyVideosSelected      = lbVideos.SelectedItems.Count > 0;
                OneVideoSelected       = lbVideos.SelectedItems.Count == 1;
                MultipleVideosSelected = lbVideos.SelectedItems.Count > 1;

                // if only one video selected
                if (OneVideoSelected)
                {
                    VM_AVDump vid = lbVideos.SelectedItem as VM_AVDump;
                    ccDetail.Content = vid;
                }

                // if only one video selected
                if (MultipleVideosSelected)
                {
                    MultipleAvdumps mv = new MultipleAvdumps();
                    mv.SelectedCount = lbVideos.SelectedItems.Count;
                    mv.AVDumps       = new List <VM_AVDump>();

                    foreach (object obj in lbVideos.SelectedItems)
                    {
                        VM_AVDump vid = obj as VM_AVDump;
                        mv.AVDumps.Add(vid);
                    }

                    ccDetailMultiple.Content = mv;
                }


                //SetConfirmDetails();
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        void AvdumpFileControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            try
            {
                DumpSingle   = false;
                DumpMultiple = false;

                if (DataContext == null)
                {
                    return;
                }

                if (DataContext.GetType() == typeof(VM_AVDump))
                {
                    VM_AVDump dump = DataContext as VM_AVDump;
                    if (dump != null)
                    {
                        AllAnime.Clear();
                        foreach (VM_AniDB_Anime anime in VM_AniDB_Anime.BestLevenshteinDistanceMatches(dump.VideoLocal.ClosestAnimeMatchString, 10))
                        {
                            AllAnime.Add(anime);
                        }
                        if (AllAnime.Count > 0)
                        {
                            lbAnime.SelectedIndex = 0;
                        }

                        if (string.IsNullOrEmpty(dump.AVDumpFullResult))
                        {
                            string ed2kDump = "Pre-calculated ED2K Dump string" + Environment.NewLine;
                            ed2kDump += "---------------------------" + Environment.NewLine;
                            ed2kDump += "This does not mean the data has been uploaded to AniDB yet" + Environment.NewLine;
                            ed2kDump += "---------------------------" + Environment.NewLine;
                            ed2kDump += $@"ed2k://|file|{dump.FileName}|{dump.FileSize}|{dump.VideoLocal.Hash}|/" + Environment.NewLine;

                            dump.AVDumpFullResult = ed2kDump;
                        }

                        dump.ED2KDump = Utils.GetED2KDump(dump.AVDumpFullResult);
                        SetED2KDump(dump.ED2KDump);
                    }
                    DumpSingle = true;
                }

                if (DataContext.GetType() == typeof(MultipleAvdumps))
                {
                    MultipleAvdumps dumpList = DataContext as MultipleAvdumps;
                    AllAnime.Clear();

                    foreach (VM_AniDB_Anime anime in VM_AniDB_Anime.BestLevenshteinDistanceMatches(dumpList.AVDumps[0].VideoLocal.ClosestAnimeMatchString, 10))
                    {
                        AllAnime.Add(anime);
                    }

                    if (AllAnime.Count > 0)
                    {
                        lbAnime.SelectedIndex = 0;
                    }

                    string massAvDump = "";
                    if (dumpList != null)
                    {
                        foreach (VM_AVDump dump in dumpList.AVDumps)
                        {
                            if (string.IsNullOrEmpty(dump.AVDumpFullResult))
                            {
                                string ed2kDump = "Pre-calculated ED2K Dump string" + Environment.NewLine;
                                ed2kDump += "---------------------------" + Environment.NewLine;
                                ed2kDump += "This does not mean the data has been uploaded to AniDB yet" + Environment.NewLine;
                                ed2kDump += "---------------------------" + Environment.NewLine;
                                ed2kDump += $@"ed2k://|file|{dump.FileName}|{dump.FileSize}|{dump.VideoLocal.Hash}|/" + Environment.NewLine;

                                dump.AVDumpFullResult = ed2kDump;
                            }
                            dump.ED2KDump = Utils.GetED2KDump(dump.AVDumpFullResult);
                            massAvDump   += dump.ED2KDump + Environment.NewLine;
                        }
                    }
                    SetED2KDump(massAvDump);
                    DumpMultiple = true;
                }
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }