1. Переписал весь блок "Первичная проверка" через Linq-расширения. Кода стало в 4 раза меньше.