IRule ApiEvalT(String, String, Rule Parameter) Method
Evaluate a rule with parameters.
Definition
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime (in Casewhere.Runtime.dll) Version: 2.9.8.6
Value return from rule expression
Assembly: Casewhere.Runtime (in Casewhere.Runtime.dll) Version: 2.9.8.6
C#
T Eval<T>(
string ruleCacheKey,
string ruleExpression,
params RuleParameter[] parameters
)
Parameters
- ruleCacheKey String
- Name of the rule.
- ruleExpression String
- Rule code expression.
- parameters RuleParameter
- Array of RuleParameters needs to evaluate expression.
Type Parameters
- T
- Return value type
Return Value
TValue return from rule expression
Example
C#
var ruleApi = ctx.Use<IRuleApi>();
var dataApi = ctx.Use<IDataApi>();
var employee = dataApi.Load("CwUatEmployee/c83fe344-3ee6-4951-90e7-adfe006584ba");
var query = DataObjectApiQuery.For("CwUatEmployee").FilterBy(FilterBuilder.Create().Build());
query.Take = 10;
var queryResult = dataApi.Search(query);
var ruleParameters = new List<RuleParameter>()
{
new DataObjectRuleParameter("dataObj", employee),
new ScalarRuleParameter("number", " 12"),
new DataObjectListRuleParameter("dataObjList", queryResult.Data)
};
var result = ruleApi.Eval<string>(
"DynamicRuleKey",
@"#predicate
var obj1Names = dataObjList.Where(w => w.JobTitle == ""Recruiter"").Select(s => s.Name);
return dataObj.Name + number + "" names: "" + string.Join("","", obj1Names) ; ",
ruleParameters.ToArray()
);