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