Ejemplo n.º 1
0
        protected virtual string BuildBinaryCondition(BinaryCondition condition,
                                                      IDictionary <string, object> outPutParameters = null)
        {
            var builder = new StringBuilder();
            var left    = BuildCondition(condition.LeftCondition, outPutParameters);
            var right   = BuildCondition(condition.RightCondition, outPutParameters);

            builder.Append($"({left})")
            .Append($" {condition.Operation} ")
            .Append($"({right})");

            return(builder.ToString());
        }
Ejemplo n.º 2
0
        protected virtual bool IsSatisfy(TData value, BinaryCondition condition)
        {
            var leftSatisfy  = IsSatisfy(value, condition.LeftCondition);
            var rightSatisfy = IsSatisfy(value, condition.RightCondition);

            switch (condition.Operation)
            {
            case BinaryOperation.And:
                return(leftSatisfy && rightSatisfy);

            case BinaryOperation.Or:
                return(leftSatisfy || rightSatisfy);

            default:
                return(false);
            }
        }