Как создать функцию на основе правил (как в Outlook) с C # - PullRequest
1 голос
/ 24 августа 2010

Я хочу разработать для приложения функцию, позволяющую создавать динамические правила, как вы можете сделать это в Outlook. Я хочу, чтобы каждый пользователь мог создавать правила для автоматизации процессов. Эти правила должны делать что-то до действия, после действия и до определенного времени / дня.

Возможные правила могут быть такими:
- Если процесс> = 99% -> Установить как законченный
- Перед тем, как пользователь вставит новый элемент -> Отправьте письмо по адресу "local@localhost.com" и дождитесь подтверждения
- После того, как пользователь изменил состояние элемента -> Изменить состояние всех элементов с именем равным
- Установите каждое воскресенье в 4:00 утра состояние всех элементов в состояние "старые элементы"

Я пытаюсь сделать это с помощью механизма правил Workflow Foundation, но я не знаю, как реализовать все требования.
Можно ли это сделать с помощью WF или я должен использовать другой инструмент?

Ответы [ 2 ]

1 голос
/ 24 августа 2010

Двигатели с открытым исходным кодом. Вы можете использовать их или посмотреть на их исходные коды для вдохновения. Правило Двигатели

1 голос
/ 24 августа 2010

Однажды я разработал такую ​​систему, используя чистый ООП.Правило состоит из одного или нескольких условий и одного или нескольких действий.Каждый тип условия и тип действия являются классами.Классы условий умеют проверять внешний мир.Классы действий знают, как они «выполняются», то есть что нужно сделать, чтобы выполнить действие.Каждый класс знает, как представить себя визуально (для дизайнера визуальных правил).

Если вы хотите, чтобы к простым условиям присоединилась только операция И или ИЛИ, вы можете установить эту операцию в свойствах правила.Если вы хотите более сложное представление условий, я бы предложил использовать некоторый логический механизм оценки и представлять каждое правило в тексте условия в виде его идентификатора.Например.Msgstr "(RuleA_ID AND RuleB_ID) ИЛИ RuleC_ID".

...