Exemplo n.º 1
0
        /// <summary>
        /// Visits the between.
        /// </summary>
        /// <param name="between">The between.</param>
        /// <returns></returns>
        protected virtual Expression VisitBetween(BetweenExpression between)
        {
            var expr  = this.Visit(between.Expression);
            var lower = this.Visit(between.Lower);
            var upper = this.Visit(between.Upper);

            return(this.UpdateBetween(between, expr, lower, upper));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Updates the between.
        /// </summary>
        /// <param name="between">The between.</param>
        /// <param name="expression">The expression.</param>
        /// <param name="lower">The lower.</param>
        /// <param name="upper">The upper.</param>
        /// <returns></returns>
        protected BetweenExpression UpdateBetween(BetweenExpression between, Expression expression, Expression lower, Expression upper)
        {
            if (expression != between.Expression || lower != between.Lower || upper != between.Upper)
            {
                return(new BetweenExpression(expression, lower, upper));
            }

            return(between);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Compares the between.
 /// </summary>
 /// <param name="a">A.</param>
 /// <param name="b">The b.</param>
 /// <returns></returns>
 protected virtual bool CompareBetween(BetweenExpression a, BetweenExpression b)
 {
     return(this.Compare(a.Expression, b.Expression) && this.Compare(a.Lower, b.Lower) && this.Compare(a.Upper, b.Upper));
 }