//------------------------------------------------------------------------



        //-----------------------ДОБАВЛЕНИЕ УСЛОВИЙ-------------------------------
        //Добавление условия
        private void bAddCondition_Click(object sender, EventArgs e)
        {
            //Проверки добавляемого условия на заполнение всех полей
            if (cbFields.SelectedItem == null || string.IsNullOrEmpty(cbCriterion.Text) || string.IsNullOrEmpty(cbFieldValue.Text) || string.IsNullOrEmpty(cbLigament.Text))
            {
                MessageBox.Show("Были введены не все параметры условия!", "Ошибка");
                return;
            }
            //Проверка значения на правильность
            object value    = null;
            var    dataType = ((ColumnInfo)cbFields.SelectedItem).ColumnType;

            //Массив байт - не работает
            if (dataType == NpgsqlDbType.Bytea)
            {
                MessageBox.Show("Условия с полем данного типа не может быть добавлено", "Ошибка");
                return;
            }
            //Если текст, то это и есть значение
            if (dataType == NpgsqlDbType.Varchar || dataType == NpgsqlDbType.Text || dataType == NpgsqlDbType.Char)
            {
                value = cbFieldValue.Text;
            }
            //Если дата/время, используем связанный объект или пытаемся парсить строку
            else if (dataType == NpgsqlDbType.Date || dataType == NpgsqlDbType.Time || dataType == NpgsqlDbType.Timestamp)
            {
                if (cbFieldValue.SelectedItem == null)
                {
                    if (DateTime.TryParse(cbFieldValue.Text, out DateTime tmp))
                    {
                        value = tmp;
                    }
                }
                else
                {
                    value = cbFieldValue.SelectedItem;
                }
            }
            //Если числовые типы - парсим строку
            else if (dataType == NpgsqlDbType.Integer)
            {
                if (int.TryParse(cbFieldValue.Text, out int tmp))
                {
                    value = tmp;
                }
            }
            else if (dataType == NpgsqlDbType.Real)
            {
                if (float.TryParse(cbFieldValue.Text, out float tmp))
                {
                    value = tmp;
                }
            }
            else if (dataType == NpgsqlDbType.Double)
            {
                if (double.TryParse(cbFieldValue.Text, out double tmp))
                {
                    value = tmp;
                }
            }
            else if (dataType == NpgsqlDbType.Numeric)
            {
                if (decimal.TryParse(cbFieldValue.Text, out decimal tmp))
                {
                    value = tmp;
                }
            }
            //Если значение не было получено - ошибка
            if (value == null)
            {
                MessageBox.Show("Введено неверное значение!", "Ошибка");
                return;
            }
            //Добавление условия
            interfaceManager.AddConditionToListView(lvConditions,
                                                    new Condition {
                Column    = (ColumnInfo)cbFields.SelectedItem,
                Criterion = cbCriterion.Text,
                Value     = value,
                Ligament  = cbLigament.Text
            });
        }