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(); } }
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(); } }
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(); } }
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(); } }
private void Init() { Sqlite = new MySqlite(SqliteConfigPath); foreach (string key in tables.Keys) { if (!Sqlite.IsTableExist(key)) { Sqlite.CreateTable(tables[key]); } } }
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(); }
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; }
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(); } }
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; }
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; }