Esempio n. 1
0
            protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                if (!objectTree.TryGetValue(this, out var clone))
                {
                    objectTree.Add(this, clone = new NotExpr((ISqlExpression)Expr1.Clone(objectTree, doClone), IsNot, Precedence));
                }

                return(clone);
            }
Esempio n. 2
0
            protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                if (!objectTree.TryGetValue(this, out var clone))
                {
                    objectTree.Add(this, clone = new IsTrue((ISqlExpression)Expr1.Clone(objectTree, doClone), TrueValue, FalseValue, WithNull, IsNot));
                }

                return(clone);
            }
Esempio n. 3
0
            protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                if (!objectTree.TryGetValue(this, out var clone))
                {
                    objectTree.Add(this, clone = new SearchString(
                                       (ISqlExpression)Expr1.Clone(objectTree, doClone), IsNot, (ISqlExpression)Expr2.Clone(objectTree, doClone), Kind, IgnoreCase));
                }

                return(clone);
            }
Esempio n. 4
0
            protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                if (!objectTree.TryGetValue(this, out var clone))
                {
                    objectTree.Add(this, clone = new ExprExpr(
                                       (ISqlExpression)Expr1.Clone(objectTree, doClone), Operator, (ISqlExpression)Expr2.Clone(objectTree, doClone), WithNull));
                }

                return(clone);
            }
Esempio n. 5
0
            protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
            {
                if (!doClone(this))
                {
                    return(this);
                }

                if (!objectTree.TryGetValue(this, out var clone))
                {
                    objectTree.Add(this, clone = new InList(
                                       (ISqlExpression)Expr1.Clone(objectTree, doClone),
                                       IsNot,
                                       Values.Select(e => (ISqlExpression)e.Clone(objectTree, doClone)).ToArray()));
                }

                return(clone);
            }
Esempio n. 6
0
        protected override ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree,
                                                   Predicate <ICloneableElement> doClone)
        {
            if (!doClone(this))
            {
                return(this);
            }

            ICloneableElement clone;

            if (!objectTree.TryGetValue(this, out clone))
            {
                objectTree.Add(this, clone = new IsNull((IQueryExpression)Expr1.Clone(objectTree, doClone), IsNot));
            }

            return(clone);
        }
Esempio n. 7
0
        public ICloneableElement Clone(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone)
        {
            if (!doClone(this))
            {
                return(this);
            }

            if (!objectTree.TryGetValue(this, out var clone))
            {
                objectTree.Add(this, clone = new SqlBinaryExpression(
                                   SystemType,
                                   (ISqlExpression)Expr1.Clone(objectTree, doClone),
                                   Operation,
                                   (ISqlExpression)Expr2.Clone(objectTree, doClone),
                                   Precedence));
            }

            return(clone);
        }