カスタム UI でルールを構築し、ワークフロー モジュールの CodeDom で実行しようとしています。WF で提供される Rules インターフェイスを使用したくありません。ルールを作成/実行するために、Condition と ThenAction/ElseActions を作成しています。現在、単一の条件を正常に実行できます。OrderID、Amount、NoOfItems、Discount、TotalAmount などのプロパティを持つOrder Entity があるとします。
以下の条件を構築できます:
if (this.Amount > 1000)
thisDiscount = 100;
建物の左右の条件:
CodePropertyReferenceExpression technologyRef = new CodePropertyReferenceExpression(thisRef, " Amount");
CodePrimitiveExpression wfConstant = new CodePrimitiveExpression(1000);
// if ( this. Amount > 1000)
CodeBinaryOperatorExpression cond = new CodeBinaryOperatorExpression();
cond.Left = technologyRef;
cond.Operator = CodeBinaryOperatorType.GreaterThanOrEqual;
cond.Right = wfConstant;
Rule rule = new Rule("rule1");
rule.Condition = new RuleExpressionCondition(cond);
以下の条件をビルドできません:
if (this.Amount > 1000 && NoOfItems > 5)
thisDiscount = 150;
ルールの複数の条件を作成するのを手伝ってくれる人はいますか? 1 つの IF ステートメントで複数のプロパティを検証することを意味します。