final now = DateTime.now(); enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } enum Unit { stueck, menge } enum Category { obstUndGemuese, brotCerealienUndAufstriche, getraenke, drogerieUndHaushalt, kochenUndBacken, oeleSossenUndGewuerze, suessesUndKnabbereien } class Transaction { int id = 0; int amount; TransaktionArt type; DateTime date; String? description; Transaction(this.type, this.amount, this.date, [this.description]); } class Product { final int id = 0; final String name; final Unit unit; final double price; //pro Kilogramm oder Stück final double vat; final Category category; const Product(this.name, this.unit, this.price, this.vat, this.category); } class Purchase { Product product; int amount; Purchase(this.product, this.amount); } class Basket { List purchases; int price; Basket(this.purchases, this.price); } //sample data class SampleData { final List transactions = [ Transaction(TransaktionArt.monatlBeitrag, 0, now), Transaction(TransaktionArt.aufladung, 2042, now), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), Transaction(TransaktionArt.monatlBeitrag, 0, now), Transaction(TransaktionArt.aufladung, 2042, now), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), Transaction(TransaktionArt.monatlBeitrag, 0, now), Transaction(TransaktionArt.aufladung, 2042, now), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), Transaction(TransaktionArt.monatlBeitrag, 0, now), Transaction(TransaktionArt.aufladung, 2042, now), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs'), Transaction(TransaktionArt.monatlBeitrag, 0, now), Transaction(TransaktionArt.aufladung, 2042, now), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2))), Transaction(TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), 'Korrektur des Warenkorbs') ]; static const List products = [ Product('Apfel', Unit.stueck, 0.23, 7, Category.obstUndGemuese), Product('Mehl', Unit.menge, 0.003, 19, Category.kochenUndBacken), Product('Brot', Unit.stueck, 1.23, 7, Category.brotCerealienUndAufstriche), Product('Milch', Unit.stueck, 2.23, 3, Category.getraenke), Product('Zahnpasta', Unit.stueck, 0.23, 7, Category.drogerieUndHaushalt), Product('Pfeffer', Unit.stueck, 0.23, 7, Category.oeleSossenUndGewuerze), Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien) ]; Basket basket = Basket([ Purchase(products[0], 20), Purchase(products[1], 2200), Purchase(products[2], 2), Purchase(products[3], 1), Purchase(products[4], 1), Purchase(products[5], 2), Purchase(products[6], 202) ], 304); }