Я не думаю, что кто-то собирается "помочь" вам переписать этот код. Тем не менее, я могу предложить несколько предложений.
Мне было легче проследить мой путь до самого внутреннего, если бы я попытался переписать и продолжить свой путь назад (вверх по цепочке). В зависимости от блока IF, иногда проще разбить их на отдельные методы, где это необходимо.
Также не забывайте об условном операторе. Иногда бывает проще использовать это, чем целый блок if else.
Например, property = (boolean expression) ? (true value) : (false value);
Вот ссылка на MSDN на нем: документация условного оператора