added method
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),
),
]);
}