periodRange function

({String from, String to}) periodRange(
  1. ReceiptPeriod period, [
  2. DateTime? now
])

from/to (Wiener Wanduhr, YYYY-MM-DD) für den Zeitraum.

Implementation

({String from, String to}) periodRange(ReceiptPeriod period, [DateTime? now]) {
  final zeit = now ?? DateTime.now();
  final heute = viennaDate(zeit);
  DateTime zurueck(int tage) => zeit.subtract(Duration(days: tage));
  return switch (period) {
    ReceiptPeriod.today => (from: heute, to: heute),
    ReceiptPeriod.yesterday => (from: viennaDate(zurueck(1)), to: viennaDate(zurueck(1))),
    // Sieben Tage schließen heute mit ein — also sechs zurück.
    ReceiptPeriod.last7Days => (from: viennaDate(zurueck(6)), to: heute),
    ReceiptPeriod.last30Days => (from: viennaDate(zurueck(29)), to: heute),
  };
}