diff --git a/demo/DemoApp/DemoApp.csproj b/demo/DemoApp/DemoApp.csproj
index dada315..37c2e70 100644
--- a/demo/DemoApp/DemoApp.csproj
+++ b/demo/DemoApp/DemoApp.csproj
@@ -2,13 +2,13 @@
Exe
- netcoreapp3.0
- DemoApp.NestedInputDemo
+ netcoreapp3.1
+ DemoApp.Program
-
+
diff --git a/demo/DemoApp/Workflows/Discount.json b/demo/DemoApp/Workflows/Discount.json
index a46f4f1..7bc678f 100644
--- a/demo/DemoApp/Workflows/Discount.json
+++ b/demo/DemoApp/Workflows/Discount.json
@@ -35,12 +35,57 @@
"Expression": "input1.loyalityFactor > 3 AND input1.totalPurchasesToDate >= 50000 AND input1.totalPurchasesToDate <= 100000 AND input2.totalOrders > 5 AND input3.noOfVisitsPerMonth > 15"
},
{
- "RuleName": "GiveDiscount35",
+ "RuleName": "GiveDiscount30NestedOrExample",
+ "SuccessEvent": "30",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "Operator": "OrElse",
+ "Rules":[
+ {
+ "RuleName": "IsLoyalAndHasGoodSpend",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "RuleExpressionType": "LambdaExpression",
+ "Expression": "input1.loyalityFactor > 3 AND input1.totalPurchasesToDate >= 50000 AND input1.totalPurchasesToDate <= 100000"
+ },
+ {
+ "RuleName": "OrHasHighNumberOfTotalOrders",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "RuleExpressionType": "LambdaExpression",
+ "Expression": "input2.totalOrders > 15"
+ }
+ ]
+ },
+ {
+ "RuleName": "GiveDiscount35NestedAndExample",
"SuccessEvent": "35",
"ErrorMessage": "One or more adjust rules failed.",
"ErrorType": "Error",
- "RuleExpressionType": "LambdaExpression",
- "Expression": "input1.loyalityFactor > 3 AND input1.totalPurchasesToDate >= 100000 AND input2.totalOrders > 15 AND input3.noOfVisitsPerMonth > 25"
+ "Operator": "AndAlso",
+ "Rules": [
+ {
+ "RuleName": "IsLoyal",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "RuleExpressionType": "LambdaExpression",
+ "Expression": "input1.loyalityFactor > 3"
+ },
+ {
+ "RuleName": "AndHasTotalPurchased100000",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "RuleExpressionType": "LambdaExpression",
+ "Expression": "input1.totalPurchasesToDate >= 100000"
+ },
+ {
+ "RuleName": "AndOtherConditions",
+ "ErrorMessage": "One or more adjust rules failed.",
+ "ErrorType": "Error",
+ "RuleExpressionType": "LambdaExpression",
+ "Expression": "input2.totalOrders > 15 AND input3.noOfVisitsPerMonth > 25"
+ }
+ ]
}
]
}
diff --git a/global.json b/global.json
new file mode 100644
index 0000000..f1c2b2b
--- /dev/null
+++ b/global.json
@@ -0,0 +1,5 @@
+{
+ "sdk": {
+ "version": "3.1.101"
+ }
+}
\ No newline at end of file