Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        /// <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);
                }
            }
        }