Exemplo n.º 1
0
 public override HqlTreeNode BuildHql(MethodInfo method, System.Linq.Expressions.Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
 {
     return(treeBuilder.BooleanMethodCall("StartsWithIgnoreCaseAndDiacritics", new List <HqlExpression>()
     {
         visitor.Visit(arguments[0]).AsExpression(),
         visitor.Visit(arguments[1]).AsExpression(),
     }));
 }
        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject,
                                             ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder,
                                             IHqlExpressionVisitor visitor)
        {
            IEnumerable <HqlExpression> args = arguments.Select(a => visitor.Visit(a))
                                               .Cast <HqlExpression>();

            return(treeBuilder.BooleanMethodCall("FREETEXT", args));
        }
        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
        {
            return(treeBuilder.BooleanMethodCall(FunctionName, new[]
            {
                treeBuilder.MethodCall(string.Empty, visitor.Visit(arguments[0]).AsExpression()),

                visitor.Visit(arguments[1]).AsExpression()
            }));
        }
        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject,
                                             ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder,
                                             IHqlExpressionVisitor visitor)
        {
            var arg    = visitor.Visit(arguments[0]).AsExpression();
            var parent = visitor.Visit(arguments[1]).AsExpression();
            var mt     = treeBuilder.BooleanMethodCall("hid_IsDescendantOf", new[] { arg, parent });

            return(mt);
        }
Exemplo n.º 5
0
 public override HqlTreeNode BuildHql(
     MethodInfo method,
     Expression targetObject,
     ReadOnlyCollection <System.Linq.Expressions.Expression> arguments,
     HqlTreeBuilder treeBuilder,
     IHqlExpressionVisitor visitor)
 {
     return(treeBuilder.BooleanMethodCall(
                "similar to",
                arguments.Select(visitor.Visit).Cast <HqlExpression>()));
 }
Exemplo n.º 6
0
        public override HqlTreeNode BuildHql(MethodInfo method,
                                             System.Linq.Expressions.Expression targetObject,
                                             ReadOnlyCollection <System.Linq.Expressions.Expression> arguments,
                                             HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
        {
            var args = new[] {
                visitor.Visit(arguments[0]).AsExpression(),
                visitor.Visit(arguments[1]).AsExpression()
            };

            return(treeBuilder.BooleanMethodCall("contains", args));
        }
Exemplo n.º 7
0
        public override HqlTreeNode BuildHql(MethodInfo method, Expression targetObject, ReadOnlyCollection <Expression> arguments, HqlTreeBuilder treeBuilder, IHqlExpressionVisitor visitor)
        {
            /*
             * HqlDot hqlDot = (HqlDot)visitor.Visit(arguments[0]).AsExpression();
             * List<HqlTreeNode> hqlTreeNodes = hqlDot.Children.ToList();
             *
             * FieldInfo fieldInfo = typeof(HqlTreeNode).GetField("_node", BindingFlags.NonPublic | BindingFlags.Instance);
             *
             * HqlIdent node1 = (HqlIdent)hqlTreeNodes[0];
             * IASTNode tableNode = (IASTNode)fieldInfo.GetValue(node1);
             * string tableText = tableNode.Text;
             *
             * HqlIdent node2 = (HqlIdent)hqlTreeNodes[1];
             * IASTNode columnNode = (IASTNode)fieldInfo.GetValue(node2);
             * string columnText = columnNode.Text;
             *
             * string format = string.Format("{0}.{1} (+)", tableText, columnText);
             *
             * //return treeBuilder.AnyValueConstant(format);
             * return treeBuilder.AnyValueConstant("customer1_.ID (+)");
             */


            HqlAnyValueConstant expression0 = treeBuilder.AnyValueConstant("+");
            HqlExpression       expression1 = visitor.Visit(arguments[0]).AsExpression();

            List <HqlExpression> expressions = new List <HqlExpression>();

            expressions.Add(expression0);
            expressions.Add(expression1);
            return(treeBuilder.BooleanMethodCall("", expressions));



            //treeBuilder.Equality();
            //HqlMethodCall leftSign = treeBuilder.MethodCall("", treeBuilder.Plus());

            /*
             * return expression2;
             *
             * HqlDot dot = (HqlDot) expression2;
             * //return treeBuilder.AnyValueConstant(" ", expression1, expression2);
             * return expression1;
             *
             * /*
             * return expression2;
             */
            //return leftSign;
            //return treeBuilder.Space(leftSign, );
        }