public static IPromise <int> Sum(this IPromiseEnumerable <int> items) { return(items.Aggregate((prev, current) => prev + current, (int)0)); }
public static IPromise <double> Average(this IPromiseEnumerable <float?> items) { return(items.Sum().Then(sum => items.Count().Then(count => ((double)sum) / ((double)count)))); }
public static IPromise <float> Sum(this IPromiseEnumerable <float?> items) { return(items.Sum(x => x.HasValue ? x.Value : (float)0)); }
public static IPromise <double> Sum(this IPromiseEnumerable <double?> items) { return(items.Sum(x => x.HasValue ? x.Value : (double)0)); }
public static IPromise <decimal> Sum(this IPromiseEnumerable <decimal?> items) { return(items.Sum(x => x.HasValue ? x.Value : (decimal)0)); }
public static IPromise <long> Sum(this IPromiseEnumerable <long?> items) { return(items.Sum(x => x.HasValue ? x.Value : (long)0)); }
public static IPromise <decimal?> Max(this IPromiseEnumerable <decimal?> items) { var filtered = items.Where(x => x.HasValue).Select(x => x.Value); return(filtered.Empty().Then(empty => empty ? items.Factory.Value <decimal?>(null) : filtered.Max().Then(v => ((decimal?)v)))); }
public static IPromise <decimal> Max(this IPromiseEnumerable <decimal> items) { return(items.First().Then(first => items.Aggregate((prev, current) => Math.Max(prev, current), first))); }
public static IPromise <float> Min(this IPromiseEnumerable <float> items) { return(items.First().Then(first => items.Aggregate((prev, current) => Math.Min(prev, current), first))); }