Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var groupedFlights = departingFlights
- .OrderBy(f => f.DepartureDate)
- .Aggregate(
- new Dictionary<DateTime, List<Flight>>(),
- (acc, flight) =>
- {
- var key = acc.Keys.SingleOrDefault(k => IsDateWithin(flight.DepartureDate, k, k.AddMinutes(31)));
- if (key == default)
- {
- acc.Add(flight.DepartureDate, new List<Flight> { flight });
- }
- else
- {
- acc[key].Add(flight);
- }
- return acc;
- },
- groups => groups
- .Select(group => new FlightGrouping
- {
- GroupStart = group.Key,
- Flights = group.Value
- }))
- .ToList();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement