I need some help if it is a way to the below. Scenario is that I have an incoming order on the backend machines. And before I can process it I need to do some stuff with the order before depending on customer needs. Could be anything from cleaning some phone numbers or adding data to the order. Anyway, the job that needs to be done for each customer is rather unique so I dont want to discuss that now.
Now I more wonder if I can handle the below in a different way, because when the customers piles up, so does the else if, else if, else if and I start to dislike it. Should I make switch statement or is there a better eye friendlier way?
private void SenderSpecificLogic(Order order)
{
if (order.Customer.IsEqualIgnoreCase("abc"))
AbcCustomerOrderManipulationLogic(order);
else if (order.Customer.IsEqualIgnoreCase("bcd"))
BcdCustomerCustomerLogic(order);
else if (order.Customer.IsEqualIgnoreCase("cde"))
CdeCustomerOrderManipulationLogic(order);
else if (order.Customer.IsEqualIgnoreCase("def"))
DefCustomerOrderManipulationLogic(order);
// and the list goes on an on...
}