예제 #1
0
        public string Cmd_Sync2()
        {
            try
            {
                SWorker sw = new SWorker();
                if (!File.Exists(Path.Combine(SETTINGS_PATH, "config.ini")))
                {
                    return("Ошибка загрузки. Отсутствует файл настроек. " + Path.Combine(SETTINGS_PATH, "config.ini"));
                }
                sw.Path = Path.Combine(SETTINGS_PATH, "config.ini");
                sw.Open();
                var set = sw.Items;

                if (set["program_path"] == null && !Directory.Exists(set["program_path"].Value))
                {
                    return("Ошибка отправки. Не задан или ошибочный путь к папке с программой.");
                }
                string prog_path = set["program_path"].Value;
                if (set["sync_path"] == null && !Directory.Exists(set["sync_path"].Value))
                {
                    return("Ошибка отправки. Не задан или ошибочный путь к папке синхронизации.");
                }
                string sync_path = set["sync_path"].Value;

                string local_base  = Path.Combine(prog_path, "base.db");
                string shared_base = Path.Combine(sync_path, "base.db");

                if (!Directory.Exists(Path.Combine(SETTINGS_PATH, "recovery")))
                {
                    Directory.CreateDirectory(Path.Combine(SETTINGS_PATH, "recovery"));
                }

                if (File.Exists(shared_base))
                {
                    if (File.Exists(local_base))
                    {
                        string local_rec_base = Path.Combine(SETTINGS_PATH, "recovery", "base_old.db");
                        if (File.Exists(local_rec_base))
                        {
                            File.Delete(local_rec_base);
                            Thread.Sleep(1000);
                        }
                        File.Copy(local_base, local_rec_base);
                        Thread.Sleep(1000);
                        File.Delete(local_base);
                    }
                    File.Copy(shared_base, local_base);
                }

                return("Загрузка прошла успешно.");
            }
            catch (Exception ex)
            {
                return($"Ошибка загрузки. {ex.Message}");
            }
        }
예제 #2
0
        private void THStart()
        {
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Инициализация."; progressBar1.Value = 10; }));
            Thread.Sleep(2000);
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Инициализация. Сканирование системы..."; progressBar1.Value = 15; }));
            Thread.Sleep(4000);
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Инициализация. Получение информации..."; progressBar1.Value = 25; }));
            Thread.Sleep(8000);
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Установка настроек. Установка базы данных..."; progressBar1.Value = 50; }));
            DataBaseManager dbm = new DataBaseManager();

            Thread.Sleep(3000);
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Установка базы данных. Создание необходимых таблиц..."; progressBar1.Value = 60; }));
            dbm.CheckTables();
            Thread.Sleep(4000);
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Установка базы данных. Регистрация администратора..."; progressBar1.Value = 70; }));
            string login = "";
            string pw    = "";

            Invoke((MethodInvoker)(() =>
            {
                login = u_login.Text;
                pw = u_pass.Text;
            }));
            dbm.AdminAddOrUpdate(login, pw);
            Thread.Sleep(2000);

            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Установка базы данных. Установка стандартных приоритетов..."; progressBar1.Value = 80; }));
            if (MessageBox.Show("Установить стандартные приоритеты?",
                                "Установка приоритетов",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question,
                                MessageBoxDefaultButton.Button1) == DialogResult.Yes)
            {
                dbm.SetDefPriorities();
                Thread.Sleep(3000);
            }
            statusText.Invoke((MethodInvoker)(() => { statusText.Text = "Установка настроек..."; progressBar1.Value = 98; }));

            if (File.Exists(Constants.PROG_DIR + "\\" + "startup"))
            {
                File.Delete(Constants.PROG_DIR + "\\" + "startup");
            }

            if (Directory.Exists(Constants.SETTINGS_PATH))
            {
                Directory.Delete(Constants.SETTINGS_PATH, true);
                Thread.Sleep(20);
            }

            Directory.CreateDirectory(Constants.SETTINGS_PATH);

            SWorker worker = new SWorker();

            worker.Path = Constants.SETTINGS_PATH + "\\" + "config.ini";
            worker.Open();
            worker.Items.Add("program_path", Path.GetDirectoryName(Application.ExecutablePath));
            worker.Save();

            Thread.Sleep(8000);


            THStart_Closed?.Invoke(this, new EventArgs());
        }