Exemple #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            DialogInput dialogInput = new DialogInput(this, "输入数据库名称");

            if (dialogInput.ShowDialog() == true)
            {
                string name = dialogInput.Text.ToLower();


                if (vieModel_DBManagement.DataBases.Contains(name))
                {
                    new Msgbox(this, "已存在").ShowDialog();
                    return;
                }



                MySqlite db = new MySqlite("DataBase\\" + name);
                db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                db.CreateTable(DataBase.SQLITETABLE_JAVDB);


                vieModel_DBManagement.DataBases.Add(name);
                //刷新主界面
                RefreshMain();
            }
        }
Exemple #2
0
        private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox   comboBox  = (ComboBox)sender;
            StackPanel sp        = comboBox.Parent as StackPanel;
            TextBlock  tb        = sp.Children.OfType <TextBlock>().First();
            StackPanel topsp     = sp.Parent as StackPanel;
            TextBlock  textBlock = topsp.Children.OfType <TextBlock>().First();
            string     path      = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DataBase", e.AddedItems[0].ToString() + ".sqlite");
            double     count     = 0;
            long       length    = 0;

            if (File.Exists(path))
            {
                using (MySqlite sqlite = new MySqlite(path, true))
                {
                    count = sqlite.SelectCountByTable("movie");
                }
                length = new FileInfo(path).Length;
            }
            textBlock.Text = $"{Jvedio.Language.Resources.Number}:{count}\n{Jvedio.Language.Resources.FileSize}:{length.ToProperFileSize()}";

            if (tb.Text == Jvedio.Language.Resources.Source)
            {
                src = path;
            }
            else
            {
                dst = path;
            }
        }
Exemple #3
0
        private void NewLibrary(object sender, RoutedEventArgs e)
        {
            DialogInput dialogInput = new DialogInput(this, Jvedio.Language.Resources.PleaseEnter);

            if (dialogInput.ShowDialog() == true)
            {
                string name = dialogInput.Text.ToLower();


                if (vieModel_DBManagement.DataBases.Contains(name))
                {
                    new Msgbox(this, Jvedio.Language.Resources.Message_AlreadyExist).ShowDialog();
                    return;
                }

                MySqlite db = new MySqlite("DataBase\\" + name);
                db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                db.CreateTable(DataBase.SQLITETABLE_JAVDB);


                vieModel_DBManagement.DataBases.Add(name);
                //刷新主界面
                RefreshMain();
            }
        }
Exemple #4
0
 private void Init()
 {
     Sqlite = new MySqlite(SqliteConfigPath);
     foreach (string key in tables.Keys)
     {
         if (!Sqlite.IsTableExist(key))
         {
             Sqlite.CreateTable(tables[key]);
         }
     }
 }
Exemple #5
0
        private void InitDataBase()
        {
            //GlobalConnection.Init();
            if (!File.Exists(AIDataBasePath))
            {
                MySqlite db = new MySqlite(AIDataBasePath);
                db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite(AIDataBasePath);
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                }
                db.CloseDB();
            }


            if (!File.Exists(TranslateDataBasePath))
            {
                MySqlite db = new MySqlite(TranslateDataBasePath);
                db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite(TranslateDataBasePath);
                if (!db.IsTableExist("youdao"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                }
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                }
                db.CloseDB();
            }

            if (!File.Exists(MagnetsDataBasePath))
            {
                MySqlite db = new MySqlite(MagnetsDataBasePath);
                db.CreateTable(DataBase.SQLITETABLE_MAGNETS);
                db.CloseDB();
            }
        }
Exemple #6
0
        public Movie SelectMovie(string ID)
        {
            string table = ((Main)Jvedio.GetWindow.Get("Main")).GetCurrentList();

            if (string.IsNullOrEmpty(table))
            {
                return(DataBase.SelectMovieByID(ID));;
            }
            else
            {
                using (MySqlite mySqlite = new MySqlite("mylist"))
                {
                    return(mySqlite.SelectMovieBySql($"select * from {table} where id='{ID}'"));
                }
            }
        }
Exemple #7
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string url = "";

            foreach (Server server in Servers)
            {
                if (server != null && !string.IsNullOrEmpty(server.Url) && !string.IsNullOrEmpty(server.ServerTitle))
                {
                    if (server.ServerTitle == ComboBox.Text)
                    {
                        url = server.Url;
                        break;
                    }
                }
            }

            string actor = ActorTextBlock.Text.Replace("当前演员 ", "");

            if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(actor))
            {
                return;
            }
            //检索影片
            string id = "";

            using (MySqlite mySqlite = new MySqlite("BusActress"))
            {
                id = mySqlite.SelectByField("id", "censored", actor, "name");
            }

            if (string.IsNullOrEmpty(id))
            {
            }
            else
            {
                //访问网址
                if (!url.EndsWith("/"))
                {
                    url += "/";
                }
                url += $"star/{id}";

                //(string html,int sc)= await Net.Http(url);

                //System.Console.WriteLine(html);
            }
        }
Exemple #8
0
        public void BeginDownLoad()
        {
            if (ActorList.Count == 0)
            {
                this.State = DownLoadState.Completed; return;
            }


            //先根据 BusActress.sqlite 获得 id
            List <Actress> actresslist = new List <Actress>();

            foreach (Actress item in ActorList)
            {
                if (item != null && (item.smallimage == null || string.IsNullOrEmpty(item.birthday)))
                {
                    Actress  actress = item;
                    MySqlite db      = new MySqlite("BusActress");
                    if (item.id == "")
                    {
                        actress.id = db.GetInfoBySql($"select id from censored where name='{item.name}'");
                        if (item.imageurl == null)
                        {
                            actress.imageurl = db.GetInfoBySql($"select smallpicurl from censored where id='{actress.id}'");
                        }
                    }
                    else
                    {
                        if (item.imageurl == null)
                        {
                            actress.imageurl = db.GetInfoBySql($"select smallpicurl from censored where id='{actress.id}'");
                        }
                    }
                    db.CloseDB();
                    actresslist.Add(actress);
                }
            }

            ProgressBarUpdate.maximum = actresslist.Count;
            //TODO
            for (int i = 0; i < actresslist.Count; i++)
            {
                Console.WriteLine("开始进程 " + i);
                Thread threadObject = new Thread(DownLoad);
                threadObject.Start(actresslist[i]);
            }
        }
Exemple #9
0
        public void BeginDownLoad()
        {
            if (ActorList.Count == 0)
            {
                this.State = DownLoadState.Completed; return;
            }


            //先根据 BusActress.sqlite 获得 id
            List <Actress> actresslist = new List <Actress>();

            foreach (Actress item in ActorList)
            {
                if (item != null && (item.smallimage == null || string.IsNullOrEmpty(item.birthday)))
                {
                    Actress  actress = item;
                    MySqlite db      = new MySqlite("BusActress");
                    if (string.IsNullOrEmpty(item.id))
                    {
                        actress.id = db.GetInfoBySql($"select id from censored where name='{item.name}'");
                    }
                    db.CloseDB();
                    if (string.IsNullOrEmpty(item.imageurl))
                    {
                        //TODO 没法解决演员头像骑兵和步兵的问题
                        //默认骑兵吧,反正拍过步兵的肯定也拍过骑兵
                        //拼接网址
                        actress.imageurl = $"{JvedioServers.Bus.Url}pics/actress/{item.id}_a.jpg";
                    }

                    actresslist.Add(actress);
                }
            }

            ProgressBarUpdate.maximum = actresslist.Count;
            for (int i = 0; i < actresslist.Count; i++)
            {
                Console.WriteLine("开始进程 " + i);
                Thread threadObject = new Thread(DownLoad);
                threadObject.Start(actresslist[i]);
            }
        }
Exemple #10
0
        private void InitDataBase()
        {
            if (!File.Exists(AIDataBasePath))
            {
                MySqlite db = new MySqlite("AI");
                db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite("AI");
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                }
                db.CloseDB();
            }


            if (!File.Exists(TranslateDataBasePath))
            {
                MySqlite db = new MySqlite("Translate");
                db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite("Translate");
                if (!db.IsTableExist("youdao"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                }
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                }
                db.CloseDB();
            }
        }
Exemple #11
0
        public static Task <Int32Rect> GetAIResult(Movie movie, string path)
        {
            return(Task.Run(() =>
            {
                System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(path);
                string token = AccessToken.getAccessToken();
                string FaceJson = FaceDetect.faceDetect(token, bitmap);

                Dictionary <string, string> result;
                Int32Rect int32Rect;
                (result, int32Rect) = FaceParse.Parse(FaceJson);
                if (result != null && int32Rect != Int32Rect.Empty)
                {
                    MySqlite dataBase = new MySqlite("AI");
                    dataBase.SaveBaiduAIByID(movie.id, result);
                    dataBase.CloseDB();
                    return int32Rect;
                }
                else
                {
                    return Int32Rect.Empty;
                }
            }));
        }
Exemple #12
0
        private async void Button_Click_2(object sender, RoutedEventArgs e)
        {
            cts = new CancellationTokenSource();
            cts.Token.Register(() => { HandyControl.Controls.Growl.Info("取消当前任务!", "DBManageGrowl"); });
            ct = cts.Token;

            //数据库管理
            var    cb   = CheckBoxWrapPanel.Children.OfType <CheckBox>().ToList();
            string path = "";

            if (vieModel_DBManagement.CurrentDataBase.ToLower() == "info")
            {
                path = $"{vieModel_DBManagement.CurrentDataBase}";
            }
            else
            {
                path = $"DataBase\\{vieModel_DBManagement.CurrentDataBase}";
            }
            MySqlite db = new MySqlite(path);


            if ((bool)cb[1].IsChecked || (bool)cb[2].IsChecked)
            {
                WaitingPanel.Visibility = Visibility.Visible;
            }

            if ((bool)cb[0].IsChecked)
            {
                //重置信息
                db.DeleteTable("movie");
                db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                HandyControl.Controls.Growl.Success("成功重置信息", "DBManageGrowl");
            }

            if ((bool)cb[1].IsChecked)
            {
                //删除不存在影片
                long num = 0;
                await Task.Run(() =>
                {
                    var movies = db.SelectMoviesBySql("select * from movie");
                    try
                    {
                        movies.ForEach(movie =>
                        {
                            ct.ThrowIfCancellationRequested();
                            if (!File.Exists(movie.filepath))
                            {
                                db.DeleteByField("movie", "id", movie.id);
                                num++;
                            }
                        });
                    }
                    catch (OperationCanceledException ex)
                    {
                        Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}");
                        return(false);
                    }
                    return(true);
                }, ct);

                HandyControl.Controls.Growl.Success($"成功删除 {num} 个不存在的影片", "DBManageGrowl");
            }

            if ((bool)cb[2].IsChecked)
            {
                var movies = db.SelectMoviesBySql("select * from movie");
                StringCollection ScanPath = ReadScanPathFromConfig(vieModel_DBManagement.CurrentDataBase);

                long num = 0;

                await Task.Run(() =>
                {
                    try
                    {
                        movies.ForEach(movie =>
                        {
                            ct.ThrowIfCancellationRequested();
                            if (!IsPathIn(movie.filepath, ScanPath))
                            {
                                db.DeleteByField("movie", "id", movie.id);
                                num++;
                            }
                        });
                    }
                    catch (OperationCanceledException ex)
                    {
                        Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}");
                        return(false);
                    }

                    return(true);
                }, ct);


                HandyControl.Controls.Growl.Success($"成功删除 {num} 个不位于指定目录的影片", "DBManageGrowl");
            }

            db.Vacuum();
            db.CloseDB();
            cts.Dispose();
            WaitingPanel.Visibility = Visibility.Hidden;

            await Task.Run(() => { Task.Delay(500).Wait(); });

            Main   main   = null;
            Window window = Jvedio.GetWindow.Get("Main");

            if (window != null)
            {
                main = (Main)window;
            }
            main?.vieModel.Reset();
        }
Exemple #13
0
        private void Rename(TextBox textBox)
        {
            Console.WriteLine("Rename");
            string name = textBox.Text.ToLower();

            if (name == beforeRename)
            {
                textBox.IsEnabled  = false;
                textBox.IsReadOnly = true;
                textBox.Cursor     = Cursors.Hand;
                beforeRename       = "";
                return;
            }


            if (beforeRename == "")
            {
                if (!string.IsNullOrWhiteSpace(name) && !string.IsNullOrEmpty(name) && !vieModel_StartUp.DataBases.Contains(name) && name.IndexOfAny(Path.GetInvalidFileNameChars()) == -1)
                {
                    //新建
                    MySqlite db = new MySqlite("DataBase\\" + name);
                    db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                    db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                    db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                    db.CreateTable(DataBase.SQLITETABLE_JAVDB);

                    if (vieModel_StartUp.DataBases.Contains("新建视频库"))
                    {
                        vieModel_StartUp.DataBases.Remove("新建视频库");
                    }

                    textBox.IsEnabled  = false;
                    textBox.IsReadOnly = true;
                    textBox.Cursor     = Cursors.Hand;

                    vieModel_StartUp.DataBases.Add(name);
                    vieModel_StartUp.DataBases.Add("新建视频库");
                }
                else
                {
                    textBox.Text = "新建视频库";
                }
            }

            else
            {
                //重命名
                if (vieModel_StartUp.DataBases.Contains(name))
                {
                    textBox.Text = beforeRename; //重复的
                }
                else
                {
                    //重命名
                    if (name.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) == -1)
                    {
                        try
                        {
                            File.Move(AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{beforeRename}.sqlite",
                                      AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{name}.sqlite");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            Logger.LogE(ex);
                        }
                    }
                    else
                    {
                        textBox.Text = beforeRename;
                    }
                }
                beforeRename = "";
            }

            textBox.IsEnabled  = false;
            textBox.IsReadOnly = true;
            textBox.Cursor     = Cursors.Hand;
        }
Exemple #14
0
        private void InitDataBase()
        {
            if (!File.Exists(InfoDataBasePath))
            {
                MySqlite db = new MySqlite("Info");
                db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                db.CreateTable(DataBase.SQLITETABLE_JAVDB);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite("Info");
                if (!db.IsTableExist("movie") || !db.IsTableExist("actress") || !db.IsTableExist("library") || !db.IsTableExist("javdb"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                    db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                    db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                    db.CreateTable(DataBase.SQLITETABLE_JAVDB);
                }
                db.CloseDB();
            }


            if (!File.Exists(AIDataBasePath))
            {
                MySqlite db = new MySqlite("AI");
                db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite("AI");
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUAI);
                }
                db.CloseDB();
            }


            if (!File.Exists(TranslateDataBasePath))
            {
                MySqlite db = new MySqlite("Translate");
                db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                db.CloseDB();
            }
            else
            {
                //是否具有表结构
                MySqlite db = new MySqlite("Translate");
                if (!db.IsTableExist("youdao"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_YOUDAO);
                }
                if (!db.IsTableExist("baidu"))
                {
                    db.CreateTable(DataBase.SQLITETABLE_BAIDUTRANSLATE);
                }
                db.CloseDB();
            }
        }
Exemple #15
0
        private void Rename(TextBox textBox)
        {
            string name = textBox.Text;

            //不修改
            if (name == beforeRename)
            {
                textBox.IsReadOnly = true;
                textBox.Cursor     = Cursors.Hand;
                beforeRename       = "";
                return;
            }


            //新建一个数据库
            if (beforeRename == "")
            {
                if (!string.IsNullOrWhiteSpace(name) && !string.IsNullOrEmpty(name) && !IsItemInList(name, vieModel_StartUp.DataBases) && name.IndexOfAny(Path.GetInvalidFileNameChars()) == -1)
                {
                    //新建

                    MySqlite db = new MySqlite("DataBase\\" + name);
                    db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                    db.CreateTable(DataBase.SQLITETABLE_ACTRESS);
                    db.CreateTable(DataBase.SQLITETABLE_LIBRARY);
                    db.CreateTable(DataBase.SQLITETABLE_JAVDB);
                    db.CloseDB();

                    if (vieModel_StartUp.DataBases.Contains(Jvedio.Language.Resources.NewLibrary))
                    {
                        vieModel_StartUp.DataBases.Remove(Jvedio.Language.Resources.NewLibrary);
                    }
                    textBox.IsReadOnly = true;
                    textBox.Cursor     = Cursors.Hand;

                    vieModel_StartUp.DataBases.Add(name);
                    vieModel_StartUp.DataBases.Add(Jvedio.Language.Resources.NewLibrary);
                }
                else
                {
                    textBox.Text = Jvedio.Language.Resources.NewLibrary;
                }
            }
            else
            {
                //重命名
                if (IsItemInList(name, vieModel_StartUp.DataBases))
                {
                    textBox.Text = beforeRename; //重复的
                }
                else
                {
                    //重命名
                    if (name.IndexOfAny(System.IO.Path.GetInvalidFileNameChars()) == -1)
                    {
                        try
                        {
                            File.Move(AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{beforeRename}.sqlite",
                                      AppDomain.CurrentDomain.BaseDirectory + $"DataBase\\{name}.sqlite");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                            Logger.LogE(ex);
                        }
                    }
                    else
                    {
                        textBox.Text = beforeRename;
                    }
                }
                beforeRename = "";
            }
            textBox.IsReadOnly    = true;
            textBox.Cursor        = Cursors.Hand;
            textBox.TextAlignment = TextAlignment.Left;
        }
Exemple #16
0
        private async void Button_Click_2(object sender, RoutedEventArgs e)
        {
            Button button = (Button)sender;

            button.IsEnabled = false;
            cts = new CancellationTokenSource();
            cts.Token.Register(() => { HandyControl.Controls.Growl.Info(Jvedio.Language.Resources.Cancel, GrowlToken); });
            ct = cts.Token;

            //数据库管理
            var      cb   = CheckBoxWrapPanel.Children.OfType <CheckBox>().ToList();
            string   path = $"DataBase\\{vieModel_DBManagement.CurrentDataBase}";
            MySqlite db   = new MySqlite(path);

            if ((bool)cb[0].IsChecked)
            {
                //重置信息
                db.DeleteTable("movie");
                db.CreateTable(DataBase.SQLITETABLE_MOVIE);
                //清空最近播放和最近创建
                ClearDateBefore(DateTime.Now);
                db.Vacuum();
                HandyControl.Controls.Growl.Success(Jvedio.Language.Resources.Message_Success, GrowlToken);
            }

            if ((bool)cb[1].IsChecked)
            {
                //删除不存在影片
                long num = 0;
                await Task.Run(() =>
                {
                    var movies = db.SelectMoviesBySql("select * from movie");
                    try
                    {
                        vieModel_DBManagement.ProgressBarValue = 0;

                        for (int i = 0; i < movies.Count; i++)
                        {
                            ct.ThrowIfCancellationRequested();
                            if (!File.Exists(movies[i].filepath))
                            {
                                db.DeleteByField("movie", "id", movies[i].id);
                                num++;
                            }
                            if (movies.Count > 0)
                            {
                                vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)movies.Count * 100);
                            }
                        }
                        db.Vacuum();
                    }
                    catch (OperationCanceledException ex)
                    {
                        Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}");
                    }
                }, ct);

                HandyControl.Controls.Growl.Success($"{ Jvedio.Language.Resources.SuccessDelete} {num}", GrowlToken);
            }

            if ((bool)cb[2].IsChecked)
            {
                var movies = db.SelectMoviesBySql("select * from movie");
                StringCollection ScanPath = ReadScanPathFromConfig(vieModel_DBManagement.CurrentDataBase);

                long num = 0;
                await Task.Run(() =>
                {
                    try
                    {
                        vieModel_DBManagement.ProgressBarValue = 0;

                        for (int i = 0; i < movies.Count; i++)
                        {
                            ct.ThrowIfCancellationRequested();
                            if (!IsPathIn(movies[i].filepath, ScanPath))
                            {
                                db.DeleteByField("movie", "id", movies[i].id);
                                num++;
                            }
                            if (movies.Count > 0)
                            {
                                vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)movies.Count * 100);
                            }
                        }

                        db.Vacuum();
                    }
                    catch (OperationCanceledException ex)
                    {
                        Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}");
                    }
                }, ct);


                HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.SuccessDelete} {num}", GrowlToken);
            }

            if ((bool)cb[3].IsChecked)
            {
                if (Properties.Settings.Default.SaveInfoToNFO)
                {
                    var detailMovies = db.SelectDetailMoviesBySql("select * from movie");
                    await Task.Run(() =>
                    {
                        try
                        {
                            vieModel_DBManagement.ProgressBarValue = 0;

                            for (int i = 0; i < detailMovies.Count; i++)
                            {
                                ct.ThrowIfCancellationRequested();
                                FileProcess.SaveNfo(detailMovies[i]);
                                if (detailMovies.Count > 0)
                                {
                                    vieModel_DBManagement.ProgressBarValue = (int)((double)(i + 1) / (double)detailMovies.Count * 100);
                                }
                            }
                        }
                        catch (OperationCanceledException ex)
                        {
                            Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {ex.Message}");
                        }
                    }, ct);

                    HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.Message_Success}", GrowlToken);
                }
                else
                {
                    HandyControl.Controls.Growl.Success($"{Jvedio.Language.Resources.setnfo}", GrowlToken);
                }
            }
            db.CloseDB();
            cts.Dispose();
            await Task.Run(() => { Task.Delay(500).Wait(); });

            Main main = (Main)GetWindowByName("Main");

            main?.vieModel.Reset();
            button.IsEnabled = true;
        }