Hi!
I have what seems to be a simple employee time request web application I have to make (C#, Silverlight or ASP.NET). An employee can request vacation time, sick time, maternity leave, comp time, etc (there are probably about 10 different types of leave and could be more in the future) and their manager has to approve each request.
It really turns into a mess with all of the anomolies and such that I must anticipate. People in different roles get different amounts of vacation time, for example. Some people have vacation time accrued, and others get it all up from at the start of the fiscal year (September 1st). Employees have a bank they can keep of sick time and vacation time, but the size of these banks is limited and varies according to the employee role. At any point in time I need to be able to see how much an employee has left and how much is available to them. The biggest anomoly I believe, is that an employee can change roles (ie switch to a manager at any particular time and therefore start getting more vacation from that point forward).
It's quite a complicated problem. My question was this:
How should I design this? What is a good design pattern to use for this where I can be very flexible in the future?
Thanks!