public static bool UpdateConnectionSettings() { try { NewtonJson.WriteJsonFile(JsonConnectionSettings, Constants.JsonConnectionSettingsFileName); return(true); } catch { return(false); } }
private void btnSave_Click(object sender, EventArgs e) { var toJson = new JsonLocalSettings { ServerTask = tbServerSQL.Text, BaseTask = tbBaseSql.Text, UserTask = tbUserSQL.Text, PasswordTask = tbPasswordSQL.Text, }; NewtonJson.WriteJsonFile(toJson, MainSettings.JsonSettingsFileFullPath); MainForm.MonitorCommonGlobalSettings.Server1C = tbServer1C.Text; MainForm.MonitorCommonGlobalSettings.Base1C = tbBase1C.Text; MainForm.MonitorCommonGlobalSettings.User1C = tbUser1C.Text; MainForm.MonitorCommonGlobalSettings.Password1C = tbPassword1C.Text; MainForm.MonitorCommonGlobalSettings.Platform = tbPlatform.Text; MainForm.MonitorCommonGlobalSettings.AddressAst = tbAddressAst.Text; MainForm.MonitorCommonGlobalSettings.UserAst = tbUserAst.Text; MainForm.MonitorCommonGlobalSettings.PasswordAst = tbPasswordAst.Text; SqlWorks.SaveCommonGlobalSettingsToBase(MainForm.MonitorCommonGlobalSettings); }
private void btnNextStep_Click(object sender, EventArgs e) { Button button = sender as Button; int tag = (int)button.Tag; switch (tag) { case 1: //Сохраняем Json var formJson = new JsonLocalSettings { BaseTask = txtBaseTask.Text, ServerTask = txtServerTask.Text, PasswordTask = txtPasswordTask.Text, UserTask = txtUserTask.Text }; if (!CheckSQLConnection(formJson, false)) { return; } NewtonJson.WriteJsonFile(formJson, MainSettings.JsonSettingsFileFullPath); break; case 2: //Сохраняем главные настройки компьютера var formSqlMainSettings = new SqlMainSettings { ComputerId = MainSettings.MainSqlSettings.ComputerId, Is1CServer = cbIsServerLocated.Checked, IsMainCashbox = cbIsMainCashbox.Checked, ShopID = cbShopID.Text }; SqlWorks.SaveMainSqlSettingsToBase(formSqlMainSettings); //Сохраняем дополнительные настройки компьютера SqlWorks.SaveLocalSqlSettingsToBase(new SqlLocalSettings { Server1C = txtServer1C.Text, Base1C = txtBase1C.Text, User1C = txtUser1C.Text, Pass1C = txtPass1C.Text, Version1C = txtVersion1C.Text, IsCheck1C = cbIsCheck1C.Checked, SelfUpdatePath = txtSelfUpdatePath.Text, OperationsListCheckTimeout = Convert.ToInt32(txtTimeOut.Text) }); var loadSettingsresult = MainSettings.LoadSettings(); if (!loadSettingsresult.IsComplete) { MessageBox.Show(loadSettingsresult.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { Tools.SelfRestart(0); //TODO: тут нужно как-то дать знать на форму что служба перезапущена и все заебись! Hide(); notifyIcon1.Visible = true; } break; } ActivateSettingsPage(tabPageSettings); }
private void btnNextStep_Click(object sender, EventArgs e) { Button button = sender as Button; Pages page = (Pages)button.Tag; int tag = (int)button.Tag; switch (page) { case Pages.JsonSettings: #region JsonSettings //Сохраняем Json try { btnNextStep.Enabled = false; var formJson = new JsonLocalSettings { BaseTask = txtBaseTask.Text, ServerTask = txtServerTask.Text, PasswordTask = txtPasswordTask.Text, UserTask = txtUserTask.Text }; if (!CheckSQLConnection(formJson, false)) { LogString("Ошибка при попытке установить соединение с Sql базой заданий"); return; } LogString("Тест соединения с Sql базой заданий успешно пройден."); try { LogString("Создание Json - файла с настроками."); NewtonJson.WriteJsonFile(formJson, MainSettings.JsonSettingsFileFullPath); } catch (Exception ex) { LogString(ex); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Json с настройками подключения к базе заданий создан успешно."); LogString("Проверка Json - файла."); var loadFromJsonResult = MainSettings.LoadFromJson(); if (!loadFromJsonResult.IsComplete) { LogString(loadFromJsonResult.Message); MessageBox.Show(loadFromJsonResult.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Проверка Json - файла завершена успешно."); cbShopID.DisplayMember = "ShopId"; cbShopID.ValueMember = "ShopId"; cbShopID.DataSource = SqlWorks.ExecProc("SelectShopsList")?.Tables[0]; LogString("Поиск настроек агента в Sql базе заданий."); var loadSettingsResult = MainSettings.LoadSettings(); if (!loadSettingsResult.IsComplete) { LogString($"{loadSettingsResult.Message} - настройки не найдены."); try { //Пробуем узнать версию 1С LogString("Пробуем узнать версию 1С"); const string CONST_PART_1C_AGENT_PATH = "\\bin\\ragent.exe"; foreach (ServiceController sc in ServiceController.GetServices()) { using (ManagementObject wmiService = new ManagementObject("Win32_Service.Name='" + sc.ServiceName + "'")) { wmiService.Get(); string currentserviceExePath = wmiService["PathName"].ToString(); if (currentserviceExePath.Contains(CONST_PART_1C_AGENT_PATH)) { currentserviceExePath = currentserviceExePath.Replace(CONST_PART_1C_AGENT_PATH, "|"); string pathCropped = currentserviceExePath.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries).First(); txtVersion1C.Text = pathCropped.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries).Last(); //Показываем baloon tool tip о том что версия была определена автоматически и может быть не корректной _isShowVersion1cToolTip = true; break; } } } } catch (Exception ex) { LogString(ex); } } else { LogString($"Настройки найдены."); //SqlSettings cbShopID.SelectedValue = MainSettings.MainSqlSettings.ShopID; tbBase1C.Text = MainSettings.LocalSqlSettings.Base1C; _is1CBaseOnServer = MainSettings.LocalSqlSettings.Is1CBaseOnServer; tbServerOrPath1C.Text = (MainSettings.LocalSqlSettings.Is1CBaseOnServer ? MainSettings.LocalSqlSettings.Server1C : MainSettings.LocalSqlSettings.InformationBaseDirectory); tbBase1C.Text = MainSettings.LocalSqlSettings.Base1C; txtUser1C.Text = MainSettings.LocalSqlSettings.User1C; txtPass1C.Text = MainSettings.LocalSqlSettings.Pass1C; txtVersion1C.Text = MainSettings.LocalSqlSettings.Version1C; txtTimeOut.Text = MainSettings.LocalSqlSettings.OperationsListCheckTimeout.ToString(); txtSelfUpdatePath.Text = MainSettings.LocalSqlSettings.SelfUpdatePath; cbIsMainCashbox.Checked = MainSettings.MainSqlSettings.IsMainCashbox; cbIsServerLocated.Checked = MainSettings.MainSqlSettings.Is1CServer; cbIsCheck1C.Checked = MainSettings.LocalSqlSettings.IsCheck1C; tbSelfUpdateFtpServer.Text = MainSettings.LocalSqlSettings.SelfUpdateFtpServer; tbSelfUpdateFtpUser.Text = MainSettings.LocalSqlSettings.SelfUpdateFtpUser; tbSelfUpdateFtpPassword.Text = MainSettings.LocalSqlSettings.SelfUpdateFtpPassword; tbSelfUpdateFtpPath.Text = MainSettings.LocalSqlSettings.SelfUpdateFtpPath; } } finally { btnNextStep.Enabled = true; } ActivateSettingsPage(tabPageSettings); #endregion break; case Pages.MainAndLocalSqlSettings: #region MainAndLocalSqlSettings //Если компьютер не зарегистрирован, то регистрируем его #region RegisterAgent if (MainSettings.MainSqlSettings == null || !MainSettings.MainSqlSettings.ComputerId.HasValue || MainSettings.MainSqlSettings.ComputerId.Value == 0) { LogString("Компьютер не зарегистрирован... Производится регистрация компьютера."); var res = MainSettings.RegisterComputerId(ConvertSafe.ToString(cbShopID.SelectedValue)); if (!res.IsComplete) { LogString(res.Message); MessageBox.Show(res.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Регистрация компьютера произведена успешно."); LogString("Проверка регистрации компьютера."); var loadSettingsRes = MainSettings.LoadMainSettingsFromSQL(); if (!loadSettingsRes.IsComplete) { LogString($"{loadSettingsRes.Message} - настройки не найдены."); MessageBox.Show($"{loadSettingsRes.Message} - настройки не найдены.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (MainSettings.MainSqlSettings == null || !MainSettings.MainSqlSettings.ComputerId.HasValue || MainSettings.MainSqlSettings.ComputerId.Value == 0) { LogString("Ошибка проверки регистрации компьютера. Не получен ComputerId."); MessageBox.Show("Ошибка проверки регистрации компьютера. Не получен ComputerId.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Проверка регистрации компьютера успешно завершена."); } #endregion btnNextStep.Enabled = _isServiceInstallComplete; try { //Сохраняем главные настройки компьютера LogString("Сохранение главных настроек компьютера."); var formSqlMainSettings = new SqlMainSettings { ComputerId = MainSettings.MainSqlSettings.ComputerId, Is1CServer = cbIsServerLocated.Checked, IsMainCashbox = cbIsMainCashbox.Checked, ShopID = Convert.ToString(cbShopID.SelectedValue) }; SqlWorks.SaveMainSqlSettingsToBase(formSqlMainSettings); } catch (Exception ex) { LogString(ex); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Настройки компьютера успешно сохранены."); try { //Сохраняем дополнительные настройки компьютера LogString("Сохранение дополнительных настроек компьютера."); var sqlLocalSettings = new SqlLocalSettings { Base1C = tbBase1C.Text, User1C = txtUser1C.Text, Pass1C = txtPass1C.Text, Version1C = txtVersion1C.Text, IsCheck1C = cbIsCheck1C.Checked, SelfUpdatePath = txtSelfUpdatePath.Text, OperationsListCheckTimeout = Convert.ToInt32(txtTimeOut.Text), SelfUpdateFtpServer = tbSelfUpdateFtpServer.Text, SelfUpdateFtpUser = tbSelfUpdateFtpUser.Text, SelfUpdateFtpPassword = tbSelfUpdateFtpPassword.Text, SelfUpdateFtpPath = tbSelfUpdateFtpPath.Text, Is1CBaseOnServer = _is1CBaseOnServer, Server1C = MainSettings.LocalSqlSettings?.Server1C, InformationBaseDirectory = MainSettings.LocalSqlSettings?.InformationBaseDirectory }; if (_is1CBaseOnServer) { sqlLocalSettings.Server1C = tbServerOrPath1C.Text; } else { sqlLocalSettings.InformationBaseDirectory = tbServerOrPath1C.Text; } var res = SqlWorks.SaveLocalSqlSettingsToBase(sqlLocalSettings); if (!res.IsComplete) { LogString(res.Message); MessageBox.Show(res.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { LogString(ex); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Дополнительные настройки компьютера успешно сохранены."); LogString("Проверка настроек."); var loadSettingsresult = MainSettings.LoadSettings(); if (!loadSettingsresult.IsComplete) { LogString(loadSettingsresult.Message); MessageBox.Show(loadSettingsresult.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } LogString("Проверка настроек успешно завершена."); ActivateSettingsPage(tabInstallService); #endregion LogString("Помечаем магазин как открытый."); SqlWorks.ExecProc("SetShopToOpen", ConvertSafe.ToString(cbShopID.SelectedValue)); break; case Pages.InstallService: ActivateSettingsPage(tabControlTest); break; case Pages.ControlTest: this.Hide(); NLogger.LogDebugToHdd("MagicUpdater успешно установлен."); MessageBox.Show("MagicUpdater успешно установлен.", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); Application.Exit(); break; case Pages.End: break; } }