public List <AggregateLogItem> Aggregate(List <LogItem> logs) { var result = new List <AggregateLogItem>(); AggregateLogItem aggregate = null; var orderedLogs = logs .OrderBy(l => l.DisplayName) .ThenBy(l => l.TimeStampUtc) .ToList(); foreach (var log in orderedLogs) { if (aggregate?.CanAggregate(log) ?? false) { aggregate.AddItem(log); continue; } aggregate = new AggregateLogItem(log); result.Add(aggregate); } return(result); }
public TreeLogItem(AggregateLogItem item) { Item = item; }