Highly interconnected graphs & Business Logic

time to read 2 min | 205 words

Imagine the following model:

Now, the feature that you need to develop is "suggest employees for open position", which requires:

  • Finding all the employees whose contract allows this position.
  • Where there isn't any rule that prevent it (and rules can be on a contract, employee details, employee or group of employees),
  • That the employee is not in a similar position right now.
  • That the employee didn't ever fill a higher level position.
  • Preferred: That the position is in a location that the employee is in.

What I would like to know is how would you solve this issue... (not just using NHibernate, using any tool of your choice, with the limitations that rules cannot be evaluated as SQL, they are .Net objects that interact with other .Net objects).