示例#1
0
 private void button_deleteValue_Click(object sender, System.EventArgs e)
 {
     if (dataGridView_FVValues.SelectedRows.Count > 0)
     {
         if (MessageBox.Show("Вы действительно хотите удалить это значение нечёткой переменной?", "Подтверждение удаления",
                             MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             try
             {
                 FuzzyVariableValue fvValue = dbConnection.Get <FuzzyVariableValue>(dataGridView_FVValues.SelectedRows[0].Cells["ID"].Value);
                 fvValue.deleted = 1;
                 dbConnection.Update(fvValue);
                 refreshFVValuesTable();
                 fuzzyVariableService.calculateFuzzyRanges(fuzzyVariableId);
             }
             catch (Exception ex)
             {
                 //Exception may occur when dbConnection is null
                 MessageBox.Show("Произошла ошибка при работе с базой данных: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
     else
     {
         MessageBox.Show("Необходимо выбрать значение нечёткой переменной", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
示例#2
0
 public EditFVValue(SQLiteConnection arg_dbConnection, int arg_fuzzyVariableId, FuzzyVariableValue arg_fuzzyVariableValue) : this(arg_dbConnection, arg_fuzzyVariableId)
 {
     if (arg_fuzzyVariableValue != null)
     {
         fuzzyVariableValue       = arg_fuzzyVariableValue;
         textBox_value.Text       = fuzzyVariableValue.value.ToString();
         textBox_possibility.Text = fuzzyVariableValue.possibility.ToString();
         Text = "Редактирование значения нечёткой переменной";
     }
 }
示例#3
0
 private void button_editValue_Click(object sender, System.EventArgs e)
 {
     if (dataGridView_FVValues.SelectedRows.Count > 0)
     {
         FuzzyVariableValue fvValue     = dbConnection.Get <FuzzyVariableValue>(dataGridView_FVValues.SelectedRows[0].Cells["ID"].Value);
         EditFVValue        editFVValue = new EditFVValue(dbConnection, fuzzyVariableId, fvValue);
         if (editFVValue.ShowDialog() == DialogResult.OK)
         {
             refreshFVValuesTable();
         }
     }
     else
     {
         MessageBox.Show("Необходимо выбрать значение нечёткой переменной", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
示例#4
0
        private void button_ok_Click(object sender, EventArgs e)
        {
            double value       = 0;
            double possibility = 0;

            //Value length check
            if (textBox_value.Text.Length <= 0)
            {
                MessageBox.Show("Необходимо ввести значение нечёткой переменной", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //Value format check
            bool valueParsePassed = double.TryParse(textBox_value.Text.Replace('.', ','), out value);

            if (!valueParsePassed)
            {
                MessageBox.Show("Значение нечёткой переменной введено неверно", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //Possibility length check
            if (textBox_possibility.Text.Length <= 0)
            {
                MessageBox.Show("Необходимо ввести вероятность значения нечёткой переменной", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //Possibility format check
            bool possibilityParsePassed = double.TryParse(textBox_possibility.Text.Replace('.', ','), out possibility);

            if (!possibilityParsePassed)
            {
                MessageBox.Show("Вероятность значения нечёткой переменной введена неверно", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            //FuzzyVariableValue could be null now
            if (fuzzyVariableValue == null)
            {
                fuzzyVariableValue = new FuzzyVariableValue()
                {
                    value           = value,
                    possibility     = possibility,
                    fuzzyVariableId = fuzzyVariableId
                };
            }
            else
            {
                fuzzyVariableValue.value       = value;
                fuzzyVariableValue.possibility = possibility;
                //Setting fuzzyVariableId is not necessary - it is already setted up
            }

            try
            {
                //FuzzyVariableValue is already initialized now, but could have id = 0
                if (fuzzyVariableValue.id == 0)
                {
                    dbConnection.Insert(fuzzyVariableValue);
                }
                else
                {
                    dbConnection.Update(fuzzyVariableValue);
                }
                //Recalculate fuzzy ranges for linguistic variable
                fuzzyVariableService.calculateFuzzyRanges(fuzzyVariableId);
                DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                //Exception may occur when dbConnection is null
                MessageBox.Show("Произошла ошибка при работе с базой данных: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.Abort;
            }
            finally
            {
                Close();
            }
        }