protected override void VisitOrder(OrderExpression expression) { OrderClause = new OrderClause() { FieldName = expression.FieldName, Descending = expression.Descending }; }
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); } }