Example #1
0
 public void ExampleAggregation()
 {
     var customers     = new CustomerGenerator().Generate(5);
     var totalLogins   = customers.Sum(c => c.LoginCount);
     var averageLogins = customers.Average(c => c.LoginCount);
     var min           = customers.Min(c => c.LoginCount);
     var max           = customers.Max(c => c.LoginCount);
     var aggregate     = customers.Aggregate((ac, c) => new Customer()
     {
         Id           = Math.Max(ac.Id, c.Id),
         FirstName    = ac.FirstName + " " + c.FirstName,
         LastName     = ac.LastName + " " + c.LastName,
         CreatedDate  = new DateTime(Math.Min(ac.CreatedDate.Ticks, c.CreatedDate.Ticks)),
         ModifiedDate = new DateTime(Math.Max(ac.ModifiedDate.Ticks, c.ModifiedDate.Ticks)),
         LoginCount   = ac.LoginCount + c.LoginCount,
         IsActive     = ac.IsActive || c.IsActive
     });
 }