Я пытаюсь спроектировать систему подачи заявлений на отчисление. Мне нужно знать, как лучше всего реализовать следующее требование во внешнем интерфейсе, а также как сохранить данные в БД, чтобы я мог динамически обрабатывать проверки. Вот небольшой пример того, как мы будем проверять, имеет ли работник право на отпуск.
Предположим, что он / она подает заявление на "отпуск по болезни", этот тип отпуска не может быть непосредственно на следующий день "случайным отпуском". Нельзя подать заявление на случайный отпуск, если день, до которого он / она подал заявление, был отмечен как отпуск по болезни. После того, как мы проверили это, мы должны проверить против остатков. Предположим, сотрудник является программистом; он / она может взять максимум 1 отпуск по болезни в месяц (или зарплатный цикл). Количество отпусков по болезни, которое можно взять за один месяц, зависит от назначения сотрудника.
Выше был простой пример. Правила могут быть сложными и многочисленными в зависимости от назначения сотрудника. Я смотрю на сохранение таких правил в базе данных (какая структура / атрибуты мне понадобятся для этого), а также на динамической оценке правил в коде переднего плана (C #) (какие шаблоны проектирования мне нужны для этого)