Esempio n. 1
0
        private void ButtonAddConclusionClick(object sender, EventArgs e)
        {
            //открывается форма добавления
            var f = new AddChangeFact(_es, _filePath, _dbFileName, "Добавление заключения", true, false);

            f.EventAddAgain += FOnEventAddConclusion;
            f.ShowDialog();
            f.EventAddAgain -= FOnEventAddConclusion;
        }
Esempio n. 2
0
        /// <summary>
        /// Добавление посылки
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonAddFactClick(object sender, EventArgs e)
        {
            //открывается форма добавления
            var f = new AddChangeFact(_es, _filePath, _dbFileName, "Добавление посылки", true, true);

            f.EventAddAgain += FEventAddFact;
            f.ShowDialog();
            f.EventAddAgain -= FEventAddFact;
        }
Esempio n. 3
0
        /// <summary>
        /// Изменение посылки
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ButtonChangeFactClick(object sender, EventArgs e)
        {
            if (_selectedFact.ValName == null && _selectedFact.VarName == null)
            {
                return;
            }
            //открывается форма добавления
            var f = new AddChangeFact(_es, _filePath, _dbFileName, "Изменение посылки", false, true)
            {
                Var = _es.Variables.Single(x => x.Name == _selectedFact.VarName),
                Val = _es.Values.Single(x => x.Name == _selectedFact.ValName &&
                                        x.DomainID == _es.Variables.Single(v => v.Name == _selectedFact.VarName).DomainID)
            };

            if (f.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            //2. Если ОК, то выполняется проверка на совпадение
            var same = InFact.Where(x => x.VarName == f.Var.Name && x.ValName == f.Val.Name);

            if (same.Any())
            {
                MessageBox.Show("Такая посылка уже есть в этом правиле");
                return;
            }
            //3. Если не совпадает, то новая посылка добавляется в список
            InFact.Remove(_selectedFact);
            try
            {
                _selectedFact.VarName = f.Var.Name;
                _selectedFact.ValName = f.Val.Name;
                _selectedFact.Num     = InFact.Count + 1;
            }
            catch (ArgumentException exception)
            {
                MessageBox.Show(exception.Message);
            }
            InFact.Add(_selectedFact);
            FillListViewFacts();
        }