Example #1
0
        protected override void AddFilterCondition <T>(
            Expression <Func <T, bool> > selector,
            string alias = null,
            LogicalOperator logicalOperator = LogicalOperator.NotSet)
        {
            var body             = selector.Body as BinaryExpression;
            var conditions       = currentFilterGroup.Conditions;
            var filterCondition1 = new FilterCondition();

            filterCondition1.Alias           = alias;
            filterCondition1.EntityType      = typeof(T);
            filterCondition1.Left            = "_LambdaTree_";
            filterCondition1.LocigalOperator = logicalOperator;
            filterCondition1.LambdaTree      = AtkExpressionWriterSql <T> .AtkWhereWriteToString(selector, AtkExpSqlType.atkWhere, "[", "]");

            var filterCondition2 = filterCondition1;

            conditions.Add(filterCondition2);
        }
Example #2
0
        protected override void AddInFilterCondition <T, TMember>(
            Expression <Func <T, TMember> > selector,
            TMember[] values,
            string alias = null,
            LogicalOperator locigalOperator = LogicalOperator.NotSet)
        {
            if (values == null || !values.Any())
            {
                return;
            }
            var conditions       = currentFilterGroup.Conditions;
            var filterCondition1 = new FilterCondition();

            filterCondition1.Alias           = alias;
            filterCondition1.EntityType      = typeof(T);
            filterCondition1.LocigalOperator = locigalOperator;
            filterCondition1.Left            = GetMemberColumnName(ConvertExpression(selector));
            filterCondition1.Operator        = "IN";
            filterCondition1.Right           = "(" + string.Join(", ", values.Select(v => FormatValue(v))) + ")";
            var filterCondition2 = filterCondition1;

            conditions.Add(filterCondition2);
        }