/* private void UpdateRow(DataRow dr, ConfigRecordForm form) * { * ConfigRecord configRecord = form.ConfigRecord; * dr["Id"] = configRecord.Id; * dr["Number"] = configRecord.number; * dr["NumberOfBeds"] = configRecord.numberOfBeds; * dr["ConfigRecordTypeName"] = form.ConfigRecordTypeName; * }*/ private void btnRestore_Click(object sender, EventArgs e) { try { if (maxId == App.ConfigRecord.Id) { int selId = SelectedId; // btnRestore.Enabled = selId > 0 && selId < maxId; string s = string.Format("Вы уверены, что хотите восстановить конфигурацию {0} и отменить конфигурацию {1}?", selId, maxId); if (MessageBoxUtils.Ask(s)) { using (WaitCursor wc = new WaitCursor()) { ConfigRecord configRecord = null; using (GmConnection conn = App.CreateConnection()) { configRecord = ConfigRecord.GetConfigRecord(conn, selId); } ConfigUpdate.CheckUpdate(configRecord.config); App.Instance.SetConfig(configRecord.config, "Конфигурация восстановлена.", configRecord.Id); LoadData(); UpdateControls(); } MessageBox.Show("Конфигурация успешно восстановлена."); } } else { MessageBox.Show("В базе данных обнаружена новая конфигурация. Для восстановления старой конфигурации перезапустите программу."); } } catch (Exception ex) { Log.Exception(ex); } }
bool InitInstance() { if (App.instance == null) { Log.LogSystem.LogSystemFlags = LogSystemFlags.UseIp | LogSystemFlags.UseUserId; Log.LogSystem.AddLogHandlers(new MessageFormLogInformer()); } using (WaitCursor wc = new WaitCursor()) { if (App.instance != null) { throw new HospitalDepartmentException("Приложение уже инициализировано."); } Locale.StringSet.Load(); instance = this; assemblyInfo = new AssemblyInfo(); appCache = new AppCache(); userInfo = new UserInfo(); // App config appConfig = AppConfig.Load(); // DB if (appConfig.dataProvider.Trim().Length == 0 || appConfig.connStr.Trim().Length == 0 || appConfig.debugMode == 2) { CreateDbForm form = new CreateDbForm("Data", "HospitalDepartment"); form.DataProviders.Add(SqlServerProvider.name); if (form.ShowDialog() == DialogResult.OK) { connectionFactory = form.DbCreationProperties.CreateDb(); // create database UpdateScripts.UpdateDb(connectionFactory, null, "HospitalDepartment.Resources.CreationScripts.sql"); appConfig.dataProvider = connectionFactory.ProviderFactory.Name; appConfig.connStr = connectionFactory.ConnectionString; appConfig.Save(); // import tables ImportTable.ImportData(connectionFactory, PathUtils.BaseDirectory + "Import"); } else { return(false); } } else { connectionFactory = new ConnectionFactory(appConfig.dataProvider, appConfig.connStr); } // Hospital department config config = Config.Load(); ConfigUpdate.CheckUpdate(config, true); // Connection test using (GmConnection conn = App.CreateConnection()) { conn.DbConnection.Open(); } Log.LogSystem.AddLogHandlers(new SqlLog(connectionFactory)); Log.LogSystem.OnLogMessage += new EventHandler <LogMessageEventArgs>(LogHandler_OnLogMessage); Log.Info("AppStart", "Запуск программы."); // update database UpdateScripts.UpdateDb(connectionFactory, null, "HospitalDepartment.Resources.UpdateScripts.sql"); // load icon Assembly assembly = Assembly.GetExecutingAssembly(); using (Stream stream = assembly.GetManifestResourceStream(App.DepartmentConfig.iconName)) { icon = new Icon(stream); } } // Login if (App.DebugMode > 0 && System.Diagnostics.Debugger.IsAttached) // autologin { Login("1", "1"); } else { LoginForm form = new LoginForm(false); form.ShowDialog(); } if (UserId == 0 || Role == null) { return(false); } Log.Info("Пользователь вошел в систему", "UserId={0} RoleId={1}", UserId, Role.Id); // App cache using (WaitCursor wc = new WaitCursor()) { using (GmConnection conn = App.CreateConnection()) { appCache.Update(conn, this.Role.watchingGroupId); } } // Check watching if (userInfo.HasWatching) { if (userInfo.Watching.Id == 0) { WatchingForm watchingForm = new WatchingForm(this); if (watchingForm.ShowDialog() != DialogResult.OK) { return(false); } } if (userInfo.Watching.Id == 0) { return(false); } } taskManager = new TaskManager(userInfo, config, appCache); return(true); }