private bool EvaluateScreenAndConditions(Screen screen, ConditionsConfiguration condition) { if (condition.Primary.HasValue && condition.Primary.Value != screen.Primary) { return(false); } if (condition.Expression != null && !Eval.Execute <bool>(condition.Expression, screen.Bounds)) { return(false); } return(true); }
public IConditionsMatcher CreateConditionMatcher(ConditionsConfiguration conditions) { return(lifetimeScope.Resolve <IConditionsMatcher>(new Parameter[] { new TypedParameter(typeof(ConditionsConfiguration), conditions) })); }
public ConditionsMatcher(ConditionsConfiguration conditionsConfiguration, IExpressionBuilder expressionBuilder, IMatchValueExtractor matchValueExtractor) { this.conditionsConfiguration = conditionsConfiguration; this.matchValueExtractor = matchValueExtractor; expression = expressionBuilder.Build(conditionsConfiguration.Expression); }