Example #1
0
 public OrderingTerm(Expr term
                     , Identifier collation
                     , OrderSpec orderSpec
                     , NullOrder nullOrder)
 {
     this.Comments  = new Comments();
     this.Term      = term;
     this.Collation = collation;
     this.OrderSpec = orderSpec;
     this.NullOrder = nullOrder;
 }
Example #2
0
 internal OrderingTerm(Expr term
                       , Identifier collation
                       , OrderSpec orderSpec
                       , NullOrder nullOrder
                       , Comments comments)
 {
     this.Comments = comments;
     this.Term     = term;
     _collation    = collation;
     _orderSpec    = orderSpec;
     _nullOrder    = nullOrder;
 }
Example #3
0
        public static IEnumerable <T> OrderBy <T, TKey>(this IEnumerable <T> list, Func <T, TKey?> keySelector, NullOrder nullOrder)
            where TKey : struct
        {
            switch (nullOrder)
            {
            case NullOrder.NullsLast:
                return(list.OrderBy(keySelector, NullableComparer <TKey> .Larger));

            case NullOrder.NullsFirst:
                return(list.OrderBy(keySelector, NullableComparer <TKey> .Smaller));

            default:
                throw new ArgumentOutOfRangeException(nameof(nullOrder), nullOrder, null);
            }
        }