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}"); } }
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()); }