public IEnumerable<Measurement> Aggregate(IGrouper grouper, IAggregateCalculator calculator) { var partitions = grouper.Group(_measurements); foreach (var partition in partitions) { yield return calculator.Aggregate(partition); } }
public IEnumerable <Measurement> Aggregate(IGrouper grouper, IAveragingCalculator calculator) { var partitions = grouper.Group(measurements); foreach (var partition in partitions) { yield return(calculator.Aggregate(partition)); } }
public async Task <IList <IHolder> > CreateItemCollectionAsync(IEnumerable <TimeEntryHolder> timeHolders, bool loadTimeEntryInfo) { IEnumerable <T> timeHolders2 = null; if (loadTimeEntryInfo) { timeHolders2 = await Task.WhenAll(grouper.Group (timeHolders).Select(async x => { await x.LoadInfoAsync(); return(x); })); } else { timeHolders2 = grouper.Group(timeHolders); } return(timeHolders2 .OrderByDescending(x => x.GetStartTime()) .GroupBy(x => x.GetStartTime().ToLocalTime().Date) .SelectMany(gr => gr.Cast <IHolder>().Prepend(new DateHolder(gr.Key, gr.Cast <ITimeEntryHolder> ()))) .ToList()); }