The logic for custom/complex business rules are placed in the Service Layer.
If you are using the Patterns in Action application, then you would add these in the ActionService.cs file.
As an example: if you had a complex rule that would determine whether the current user can see specific orders, you would place that logic in the GetOrders method. Since these rules are complex it is probably best to factor these out in a special private method, such as, bool IsAllowedToSeeOrder(userId, orderId). If this method return false, then they cannot see the order.
I hope this gets you going.
Dan McMillan, Sep 06, 2010
I hate it when that happens. Write your answer in Word and then copy and paste to prevent that from happening... :-)
Jul 28, 2010