Пример #1
0
        //Внешняя таблица - таблица, находящаяся вне каталога приложения

        /// <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);
        }
Пример #2
0
        /// <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);
            }
        }