asksTipRefundSource function

bool asksTipRefundSource(
  1. KasseneckReceipt receipt,
  2. int cashRefundCents, {
  3. int? nowMs,
})

Fragt das Storno nach „Ja" auch „Woher kommt das Trinkgeld zurueck?" – nur, wenn das Bargeld des Stornos (cashRefundCents, siehe cancellationCashRefundCents) das offene Mitarbeiter-Trinkgeld deckt und die Mitarbeiterin wenigstens eines davon schon hatte. Bei Kartenrueckgabe geht es auf die Karte zurueck; ueber Lohn behaltenes Trinkgeld kommt immer aus der Lade. Ohne diese Frage gilt beim Server fuer refundTip: true: aus der Lade, kein „gibt die Mitarbeiterin direkt".

Implementation

bool asksTipRefundSource(KasseneckReceipt receipt, int cashRefundCents, {int? nowMs}) {
  final offen = _offenesTrinkgeld(receipt, nowMs);
  if (offen.isEmpty) return false;
  if (!offen.any((p) => _hatteSie(receipt.items[p.index], receipt))) return false;
  return cashRefundCents >= openStaffTipCents(receipt, nowMs: nowMs);
}