public void Visit(SqlRound node) { if (!node.Argument.IsNullReference()) { Visit(node.Argument); } if (!node.Length.IsNullReference()) { Visit(node.Length); } }
public override void Visit(SqlRound node) { SqlExpression result; var shouldCastToDecimal = node.Type == TypeCode.Decimal; switch (node.Mode) { case MidpointRounding.ToEven: result = node.Length.IsNullReference() ? BankersRound(node.Argument, shouldCastToDecimal) : BankersRound(node.Argument, node.Length, shouldCastToDecimal); break; case MidpointRounding.AwayFromZero: result = node.Length.IsNullReference() ? RegularRound(node.Argument, shouldCastToDecimal) : RegularRound(node.Argument, node.Length, shouldCastToDecimal); break; default: throw new ArgumentOutOfRangeException(); } result.AcceptVisitor(this); }
public virtual void Visit(SqlRound node) { VisitInternal(node.Argument); VisitInternal(node.Length); }