Telerik.Web.Mvc.Extensions.QueryableExtensions.Aggregate C# (CSharp) Method

Aggregate() public static method

Calculates the results of given aggregates functions on a sequence of elements.
public static Aggregate ( this source, IEnumerable aggregateFunctions ) : AggregateResultCollection
source this An whose elements will /// be used for aggregate calculation.
aggregateFunctions IEnumerable The aggregate functions.
return AggregateResultCollection
        public static AggregateResultCollection Aggregate(this IQueryable source, IEnumerable<AggregateFunction> aggregateFunctions)
        {
            var functions = aggregateFunctions.ToList();

            if (functions.Count > 0)
            {
                var builder = new QueryableAggregatesExpressionBuilder(source, functions);
                var groups = builder.CreateQuery();

                foreach (AggregateFunctionsGroup group in groups)
                {
                    return group.GetAggregateResults(functions);
                }
            }

            return new AggregateResultCollection();
        }