Как избавиться от кучи if в методе?
Похоже на chain of responsibility. 
Смысл в том чтобы создавать обработчики заказа, которые будут передавать его друг-другу по цепочке пока в каком-то из них он не будет обработан.
Может хотел от вас услышать, что по таблице можно искать бинарным поиском.