// Обработчик события первой загрузки главной формы private void MainForm_Load(object sender, EventArgs e) { string fileName; fileName = Path.ChangeExtension(System.Windows.Forms.Application.ExecutablePath, ".mdb"); if (File.Exists(fileName)) { Helper.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AccountingPerformanceView.mdb;"; _root = SaverLoader.LoadFromBase(Helper.ConnectionString); if (!string.IsNullOrWhiteSpace(SaverLoader.OperationResult)) { Console.WriteLine("Ошибка загрузки: " + SaverLoader.OperationResult); } // при загрузке из файла корневой объект вновь создается, поэтому снова передаем ссылку на него Helper.DefineRoot(_root); // регистрируем таблицы сущностей после загрузки из файла _root.RegistryTables(); } UpdateInterface(); panel2.Controls.Add(GridPanelBuilder.BuildPropertyPanel(_root, new StudyGroup(), _root.StudyGroups.FilteredBySpecialityAndSpecialization(Guid.Empty, Guid.Empty))); panel2.Enabled = false; var panel = GridPanelBuilder.BuildPropertyPanel(_root, new Student(), _root.Students.FilteredBySpecialityAndSpecialization(Guid.Empty, Guid.Empty)); GridPanelBuilder.HideButtonsPanel(panel); panel3.Controls.Add(panel); }
/// <summary> /// Загрузка данных из базы асинхронно /// </summary> private void LoadFromBaseAsync() { tsmiLogin.Enabled = false; Task.Run(() => { _hotel = SaverLoader.LoadFromBase(Properties.Settings.Default.ConnectionString); var method = new MethodInvoker(() => { tsmiLogin.Enabled = true; var result = SaverLoader.OperationResult; tsslStatusLabel.Text = string.IsNullOrWhiteSpace(result) ? "Готово" : result.Substring(0, result.IndexOf('.') + 1); statusStrip1.Refresh(); }); if (InvokeRequired) { BeginInvoke(method); } else { method(); } }); }