//Внешняя таблица - таблица, находящаяся вне каталога приложения /// <summary> /// Инициализация формы и скачивания таблиц из внешнего файла. /// Инициализация привязок данных к таблицам /// </summary> public Form1() { Application.Run(new SplashScreen()); InitializeComponent(); var db = DbContext.GetInstance(); _metaInfo = db.ReadMetaInfo(); _personSource = new BindingSource(); _isPersonFilterActive = false; _personCollection = TableConverter.ConvertToPerson(db.ReadFile(DbContext.FILE_NAME.owners)); if (_personCollection == null || _personCollection.Count == 0) { _personCollection = new List <Person>(); } else { _selectedPerson = _personCollection[0]; } _personSource.DataSource = _personCollection; TableHelper.SetupPersonTable(dataGridView1, _personSource); _serviceSource = new BindingSource(); _serviceCollection = TableConverter.ConvertToService(db.ReadFile(DbContext.FILE_NAME.service)); if (_serviceCollection == null || _serviceCollection.Count == 0) { _serviceCollection = new List <Service>(); } else { _selectedService = _serviceCollection[0]; } _serviceSource.DataSource = _serviceCollection; TableHelper.SetupServiceTable(dataGridViewService, _serviceSource); _householdSource = new BindingSource(); _householdsCollection = TableConverter.ConvertToHousehold(db.ReadFile(DbContext.FILE_NAME.household)); if (_householdsCollection == null || _householdsCollection.Count == 0) { _householdsCollection = new List <Household>(); } else { _selectedHousehold = _householdsCollection[0]; } _householdSource.DataSource = _householdsCollection; TableHelper.SetupHouseholdTable(dataGridViewHouse, _householdSource); }
/// <summary> /// Вызывается при нажатии на пункт меню "Открыть файл" /// </summary> private void MenuItemOpenFile_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.Cancel) { return; } var filename = openFileDialog.FileName; var db = DbContext.GetInstance(); List <Model.Model> file = null; try { file = db.ReadFile(filename); } catch (Exception) { MessageBox.Show(Resources.FileOpenFailMessage, Resources.CaptionMessageBox); } if (file == null) { return; } _isExternalFile = true; _externaalFileName = filename; var failCount = 0; try { _personCollection = TableConverter.ConvertToPerson(file); _personSource.DataSource = _personCollection; _fileType = FileType.person; tabControl.SelectedIndex = 0; ChangeFilterButtonState(btnPersonFilter, false); return; } catch { failCount++; } try { _serviceCollection = TableConverter.ConvertToService(file); _serviceSource.DataSource = _serviceCollection; _fileType = FileType.service; tabControl.SelectedIndex = 1; ChangeFilterButtonState(btnFilters, false); return; } catch { failCount++; } try { _householdsCollection = TableConverter.ConvertToHousehold(file); _householdSource.DataSource = _householdsCollection; _fileType = FileType.household; tabControl.SelectedIndex = 2; ChangeFilterButtonState(btnHouseFilter, false); return; } catch { failCount++; } if (failCount < 3) { MessageBox.Show(Resources.FileOpenMessage, Resources.CaptionMessageBox); } else { MessageBox.Show(Resources.FileOpenFailMessage, Resources.CaptionMessageBox); } }