Beispiel #1
0
 protected override void VisitOrder(OrderExpression expression)
 {
     OrderClause = new OrderClause()
     {
         FieldName = expression.FieldName, Descending = expression.Descending
     };
 }
Beispiel #2
0
        protected override void VisitOrElse(OrElseExpression expression)
        {
            string leftClause   = "";
            string leftViewName = "";

            if (!(expression.Left is FalseExpression))
            {
                var leftVisitor = VisitInner(expression.Left);
                leftClause   = leftVisitor.WhereClause;
                leftViewName = leftVisitor.ViewName;
                if (leftVisitor.OrderClause != null)
                {
                    this.OrderClause = leftVisitor.OrderClause;
                }
                this.eqUUIDs.AddRange(leftVisitor.EQUUIDs);
                this.eqUserKeys.AddRange(leftVisitor.EQUserKeys);
            }

            string rightClause   = "";
            string rightViewName = "";

            if (!(expression.Right is FalseExpression))
            {
                var rightVisitor = VisitInner(expression.Right);
                rightClause   = rightVisitor.WhereClause;
                rightViewName = rightVisitor.ViewName;
                if (rightVisitor.OrderClause != null)
                {
                    this.OrderClause = rightVisitor.OrderClause;
                }
                this.eqUUIDs.AddRange(rightVisitor.EQUUIDs);
                this.eqUserKeys.AddRange(rightVisitor.EQUserKeys);
            }

            if (!string.IsNullOrEmpty(leftClause) && !string.IsNullOrEmpty(rightClause))
            {
                whereClause.AppendFormat(string.Format("({0}||{1})", leftClause, rightClause));
                viewNameBuilder.AppendFormat("_({0}_OR_{1})", leftViewName, rightViewName);
            }
            else if (!string.IsNullOrEmpty(leftClause))
            {
                whereClause.AppendFormat(string.Format("{0}", leftClause));
                viewNameBuilder.AppendFormat("_{0}", leftViewName);
            }
            else if (!string.IsNullOrEmpty(rightClause))
            {
                whereClause.AppendFormat(string.Format("{0}", rightClause));
                viewNameBuilder.AppendFormat("_{0}", rightViewName);
            }
        }
Beispiel #3
0
 protected override void VisitOrder(OrderExpression expression)
 {
     OrderClause = new OrderClause() { FieldName = expression.FieldName, Descending = expression.Descending };
 }
Beispiel #4
0
        protected override void VisitOrElse(OrElseExpression expression)
        {
            string leftClause = "";
            string leftViewName = "";
            if (!(expression.Left is FalseExpression))
            {
                var leftVisitor = VisitInner(expression.Left);
                leftClause = leftVisitor.WhereClause;
                leftViewName = leftVisitor.ViewName;
                if (leftVisitor.OrderClause != null)
                {
                    this.OrderClause = leftVisitor.OrderClause;
                }
                this.eqUUIDs.AddRange(leftVisitor.EQUUIDs);
                this.eqUserKeys.AddRange(leftVisitor.EQUserKeys);
            }

            string rightClause = "";
            string rightViewName = "";
            if (!(expression.Right is FalseExpression))
            {
                var rightVisitor = VisitInner(expression.Right);
                rightClause = rightVisitor.WhereClause;
                rightViewName = rightVisitor.ViewName;
                if (rightVisitor.OrderClause != null)
                {
                    this.OrderClause = rightVisitor.OrderClause;
                }
                this.eqUUIDs.AddRange(rightVisitor.EQUUIDs);
                this.eqUserKeys.AddRange(rightVisitor.EQUserKeys);
            }

            if (!string.IsNullOrEmpty(leftClause) && !string.IsNullOrEmpty(rightClause))
            {
                whereClause.AppendFormat(string.Format("({0}||{1})", leftClause, rightClause));
                viewNameBuilder.AppendFormat("_({0}_OR_{1})", leftViewName, rightViewName);
            }
            else if (!string.IsNullOrEmpty(leftClause))
            {
                whereClause.AppendFormat(string.Format("{0}", leftClause));
                viewNameBuilder.AppendFormat("_{0}", leftViewName);
            }
            else if (!string.IsNullOrEmpty(rightClause))
            {
                whereClause.AppendFormat(string.Format("{0}", rightClause));
                viewNameBuilder.AppendFormat("_{0}", rightViewName);
            }
        }