private void btnConnect_Click(object sender, RoutedEventArgs e) { // Получение настроек подключения //ProgramSettings.Server = tbServer.Text; //ProgramSettings.DB = tbDB.Text; //ProgramSettings.AdminLogin = tbLogin.Text; //ProgramSettings.AdminPassword = Criptex.Cript(pbPassword.Password); // Проверка подключения MySqlConnection connection = new MySqlConnection(Criptex.UnCript(ProgramSettings.ConnectionString)); bool connected = true; try { connection.Open(); connection.Close(); } catch (Exception ex) { connected = false; Dialog.ErrorMessage(this, "Ошибка подключения", ex.Message); } connection = null; if (!connected) { return; } // Сохранение настроек try { SaveConnectionData saveData = new SaveConnectionData(); //saveData.Server = Criptex.Cript(ProgramSettings.Server); //saveData.DB = Criptex.Cript(ProgramSettings.DB); //saveData.AdminLogin = Criptex.Cript(ProgramSettings.AdminLogin); //saveData.AdminPassword = ProgramSettings.AdminPassword; using (FileStream fs = new FileStream(ProgramSettings.WorkFolder + "conncfg.plg", FileMode.Create)) { BinaryFormatter serializer = new BinaryFormatter(); serializer.Serialize(fs, saveData); } this.DialogResult = true; } catch (Exception ex) { Dialog.ErrorMessage(this, "Ошибка сохранения настроек подключения", ex.Message); return; } }
static void Main() { App app = new App(); Assembly assembly = typeof(App).Assembly; SplashWindow splash = new SplashWindow("СЦ Тольятти", "Ряполов А.Н.", assembly); splash.Show(); DateTime dtStartSplash = DateTime.Now; // Проверка наличия рабочей директории if (!Directory.Exists(ProgramSettings.WorkFolder)) { Directory.CreateDirectory(ProgramSettings.WorkFolder); } // Вызов окна настроек подключения if (!File.Exists(ProgramSettings.WorkFolder + "conncfg.plg")) { //ConnectWindow connWindow = new ConnectWindow(); //if(!(bool)connWindow.ShowDialog()) //{ // connWindow.Close(); // Environment.Exit(0); // return; //} //connWindow.Close(); AddConnectionKeyWindow keyWindow = new AddConnectionKeyWindow(); if (!(bool)keyWindow.ShowDialog()) { keyWindow.Close(); Environment.Exit(0); return; } keyWindow.Close(); // Подключение к тестовой БД //#if (DEBUG) //ProgramSettings.Server = "remotemysql.com"; //ProgramSettings.DB = "ZxIqMwxdJi"; //ProgramSettings.AdminLogin = "******"; //ProgramSettings.AdminPassword = Criptex.Cript("kmO45otLo8"); //#endif } // Получение настроек подключения else { try { using (FileStream fs = new FileStream(ProgramSettings.WorkFolder + "conncfg.plg", FileMode.Open)) { BinaryFormatter serializer = new BinaryFormatter(); SaveConnectionData saveData = (SaveConnectionData)serializer.Deserialize(fs); ProgramSettings.ConnectionString = saveData.ConnectionString; //ProgramSettings.Server = Criptex.UnCript(saveData.Server); //ProgramSettings.DB = Criptex.UnCript(saveData.DB); //ProgramSettings.AdminLogin = Criptex.UnCript(saveData.AdminLogin); //ProgramSettings.AdminPassword = saveData.AdminPassword; } //// Подключение к тестовой БД //#if (DEBUG) // ProgramSettings.Server = "remotemysql.com"; // ProgramSettings.DB = "ZxIqMwxdJi"; // ProgramSettings.AdminLogin = "******"; // ProgramSettings.AdminPassword = Criptex.Cript("kmO45otLo8"); //#endif MySqlConnection connection = new MySqlConnection(Criptex.UnCript(ProgramSettings.ConnectionString)); connection.Open(); connection.Close(); connection.Dispose(); connection = null; } catch { // Запрос настроек подключения //ConnectWindow connWindow = new ConnectWindow(); //if (!(bool)connWindow.ShowDialog()) //{ // connWindow.Close(); // Environment.Exit(0); // return; //} //connWindow.Close(); AddConnectionKeyWindow keyWindow = new AddConnectionKeyWindow(); if (!(bool)keyWindow.ShowDialog()) { keyWindow.Close(); Environment.Exit(0); return; } keyWindow.Close(); } } // Запуск окна авторизации AuthentificateWindow authWindow = new AuthentificateWindow(); if (!(bool)authWindow.ShowDialog()) { authWindow.Close(); Environment.Exit(0); return; } ProgramSettings.CurrentUser.Login = authWindow.UserName; authWindow.Close(); ProgramSettings.CurrentUser.GetBaseDataByLogin(); ProgramSettings.CurrentUser.GetPublicDataByID(); GetSettings(); Windows.MainWin.MainWindow mainWindow = new Windows.MainWin.MainWindow(splash, dtStartSplash); Current.MainWindow = mainWindow; Current.ShutdownMode = ShutdownMode.OnMainWindowClose; app.Run(mainWindow); }
/// <summary> /// Выбор файла подключения /// </summary> private void btnSelect_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Ключи подключения|*.gcn"; dialog.FilterIndex = 0; dialog.FileName = ""; dialog.Title = "Выбор файла подключения"; dialog.Multiselect = false; dialog.CheckFileExists = true; dialog.ShowReadOnly = true; if (!(bool)dialog.ShowDialog()) { return; } tbPath.Text = dialog.FileName; Refresh(tbPath); using (FileStream fs = new FileStream(dialog.FileName, FileMode.Open)) { BinaryFormatter serializer = new BinaryFormatter(); ConnectionKey key = (ConnectionKey)serializer.Deserialize(fs); fs.Close(); try { using (MySqlConnection connection = new MySqlConnection(Criptex.UnCript(key.ConnectionString))) { connection.Open(); connection.Close(); } } catch (Exception ex) { Dialog.ErrorMessage(this, "Ошибка подключения к базе данных", ex.Message); return; } ProgramSettings.ConnectionString = key.ConnectionString; // Сохранение настроек try { SaveConnectionData saveData = new SaveConnectionData(); saveData.ConnectionString = key.ConnectionString; saveData.Owner = Criptex.UnCript(key.Owner); using (FileStream fsSave = new FileStream(ProgramSettings.WorkFolder + "conncfg.plg", FileMode.Create)) { BinaryFormatter serializerSave = new BinaryFormatter(); serializerSave.Serialize(fsSave, saveData); fsSave.Close(); } this.DialogResult = true; } catch (Exception ex) { Dialog.ErrorMessage(this, "Ошибка сохранения настроек подключения", ex.Message); } } }