Esempio n. 1
0
        public static IComparisonExpression <T> Compare <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector, bool nullOrder, bool order)
            where K : class, IComparable <K>
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }

            return(new ComparisonExpressionImpl <T>(CompareCore(parameters.Parameters, selector, order ? ReverseComparison(ObjectComparison(ComparableComparison <K>(), nullOrder)) : ObjectComparison(ComparableComparison <K>(), nullOrder))));
        }
Esempio n. 2
0
        public static IComparisonExpression <T> Compare <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector, IComparer <K> comparer, bool order)
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (comparer == null)
            {
                throw new ArgumentNullException("comparison");
            }

            return(new ComparisonExpressionImpl <T>(CompareCore(parameters.Parameters, selector, order ? ReverseComparison(ComparerComparison(comparer)) : ComparerComparison(comparer))));
        }
Esempio n. 3
0
        public static IComparisonExpression <T> Compare <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K?> > selector, Expression <Comparison <K> > comparison, bool nullOrder, bool order)
            where K : struct
        {
            if (parameters == null)
            {
                throw new NullReferenceException();
            }
            if (selector == null)
            {
                throw new ArgumentNullException("selector");
            }
            if (comparison == null)
            {
                throw new ArgumentNullException("comparison");
            }

            return(new ComparisonExpressionImpl <T>(CompareCore(parameters.Parameters, selector, order ? ReverseComparison(NullableComparison(comparison, nullOrder)) : NullableComparison(comparison, nullOrder))));
        }
Esempio n. 4
0
 public static IComparisonExpression <T> Descend <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector)
     where K : IComparable <K>
 {
     return(Compare(parameters, selector, true));
 }
Esempio n. 5
0
 public static IComparisonExpression <T> Descend <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K?> > selector, IComparer <K> comparer, bool nullOrder)
     where K : struct
 {
     return(Compare(parameters, selector, comparer, nullOrder, true));
 }
Esempio n. 6
0
 public static IComparisonExpression <T> Ascend <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector, IComparer <K> comparer, bool nullOrder)
     where K : class
 {
     return(Compare(parameters, selector, comparer, nullOrder, false));
 }
Esempio n. 7
0
 public static IComparisonExpression <T> Descend <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector, IComparer <K> comparer)
 {
     return(Compare(parameters, selector, comparer, true));
 }
Esempio n. 8
0
 public static IComparisonExpression <T> Ascend <T, K>(this IComparisonDeclaration <T> parameters, Expression <Func <T, K> > selector, Expression <Comparison <K> > comparison)
 {
     return(Compare(parameters, selector, comparison, false));
 }