added method

Cart added(
  1. CartItemDraft draft
)

Legt eine Position mit Menge 1 an.

Ohne Bezeichnung bleibt der Korb unveraendert (derselbe Wert): das Backend weist eine namenlose Position ohnehin ab. Den Grund nennt der Bildschirm, bevor der Kassier drueckt — hier steht nur die letzte Grenze.

Implementation

Cart added(CartItemDraft draft) {
  final name = draft.name.trim();
  if (name.isEmpty) return this;
  _laufendeNummer += 1;
  final grenze = (draft.maxQuantity != null && draft.maxQuantity! > 0) ? draft.maxQuantity : null;
  return Cart(items: [
    ...items,
    Position(
      id: 'p$_laufendeNummer',
      name: name,
      quantity: 1,
      priceCents: draft.unitPriceCents,
      vat: draft.vatRate,
      maxQuantity: grenze,
      articleId: artikelIdOderNull(draft.articleId),
    ),
  ]);
}