groupByDay function

List<ReceiptDayGroup> groupByDay(
  1. List<ReceiptSummary> receipts
)

Nach Wiener Kalendertag gruppiert, neueste zuerst.

Implementation

List<ReceiptDayGroup> groupByDay(List<ReceiptSummary> receipts) {
  final sortiert = [...receipts]..sort((a, b) => b.timeStamp.compareTo(a.timeStamp));
  final aus = <ReceiptDayGroup>[];
  for (final b in sortiert) {
    final datum = viennaDate(ViennaTime.parseServerTimeStamp(b.timeStamp));
    if (aus.isNotEmpty && aus.last.date == datum) {
      aus.last.receipts.add(b);
    } else {
      aus.add(ReceiptDayGroup(date: datum, receipts: [b]));
    }
  }
  return aus;
}