Kooboo.Commerce.Rules.Conditions.ExpressionEvaluator.Evaluate C# (CSharp) Method

Evaluate() public method

Evalute the value of the specified condition expression.
public Evaluate ( Expression expression, object dataContext ) : bool
expression Kooboo.Commerce.Rules.Conditions.Expressions.Expression The condition expression to evaluate.
dataContext object The context object.
return bool
        public bool Evaluate(Expression expression, object dataContext)
        {
            Require.NotNull(expression, "expression");
            Require.NotNull(dataContext, "dataContext");

            _dataContext = dataContext;

            var dataContextType = dataContext.GetType();
            _availableParameters = _parameterProviders.SelectMany(x => x.GetParameters(dataContextType))
                                                      .DistinctBy(x => x.Name)
                                                      .ToList();

            Visit(expression);

            Debug.Assert(_results.Count == 1);

            return _results.Pop();
        }

Usage Example

Ejemplo n.º 1
0
        public bool Evaluate(Expression expression, object dataContext)
        {
            Require.NotNull(expression, "expression");
            Require.NotNull(dataContext, "dataContext");

            var evaluator = new ExpressionEvaluator(ParameterProviders, ComparisonOperators);
            return evaluator.Evaluate(expression, dataContext);
        }