Example #1
0
        public static TResult Aggregate <TSource, TAccumulate, TResult>(this IProtobufSimpleQueryable <TSource> source, TAccumulate seed, Expression <Func <TAccumulate, TSource, TAccumulate> > func,
                                                                        Expression <Func <TAccumulate, TResult> > selector)
        {
            var accumulate = source.Aggregate(seed, func);

            return(selector.Compile()(accumulate));
        }
Example #2
0
 public static IProtobufSimpleQueryable <TSource> Where <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate)
 {
     return(source.Where(Expression.Lambda <Func <TSource, int, bool> >(predicate.Body, predicate.Parameters[0], Expression.Parameter(typeof(int)))));
 }
Example #3
0
        public static bool All <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate)
        {
            var negatedPredicate = Expression.Lambda <Func <TSource, bool> >(Expression.Negate(predicate.Body), predicate.Parameters);

            return(!source.Any(negatedPredicate));
        }
Example #4
0
 public static bool Any <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, bool> > predicate)
 {
     return(source.Where(predicate).Select(t => new object()).Any());
 }
Example #5
0
 public static IProtobufSimpleQueryable <TSource> Skip <TSource>(this IProtobufSimpleQueryable <TSource> source, int i)
 {
     return(source.Where((e, index) => index >= i));
 }
Example #6
0
 public static Decimal?Average <TSource>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, Decimal?> > selector)
 {
     return(source.Select(selector).Average());
 }
Example #7
0
 public static int Count <TSource>(this IProtobufSimpleQueryable <TSource> source)
 {
     return(source.Select(t => Counter).Count());
 }
Example #8
0
 public static TSource ElementAt <TSource>(this IProtobufSimpleQueryable <TSource> source, int index)
 {
     return(source.Skip(index).Select(t => t).First());
 }
Example #9
0
 public static IEnumerable <TResult> Select <TSource, TResult>(this IProtobufSimpleQueryable <TSource> source, Expression <Func <TSource, TResult> > selector)
 {
     return(source.Select(Expression.Lambda <Func <TSource, int, TResult> >(selector.Body, selector.Parameters[0], Expression.Parameter(typeof(int)))));
 }