Я «довольно» уверен, что вы стараетесь изо всех сил сделать проблему более сложной, чем здесь, но я не могу сказать наверняка, так как я не совсем уверен, что это делает.
Но вот условия, которые должны быть выполнены, чтобы добраться до вашей строки Type-Duplicate Error:
1) Либо DT, либо DF не должны быть пустыми, чтобы пройти первый оператор if
2) Либо IsSelectionValid () должен возвращать false, либо DT или DF должны быть недействительными DateTime.
Ни одна из этих вещей не является дубликатом.
Позвольте мне попытаться объяснить, что я вижу здесь:
Сначала я вижу переменные, называемые DT, DF.Я вижу, что это даты, но это все, что я знаю о них.Я вижу «Тип», который я понимаю даже меньше, чем DT и DF.Я вижу, что вы делаете цикл для Type.Length число итераций ... но что это значит для меня, если я не имею понятия, что такое Type?
Если у вас есть комментарии, объясняющие, чтоесли бы я «мог» вам помочь, но просто недостаточно информации, чтобы знать, что здесь происходит.
Если вы просто хотите знать, как избежать добавления дубликатов в базу данных, я бы предложил добавитьограничение или индекс для столбца в базе данных, а затем вы можете просто перехватывать исключения, которые вызываются при попытке вставить дубликат и обрабатывать его таким образом.В качестве альтернативы, укажите это в своем заявлении на вставку.