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; List? basket; String? description; Transaction(this.type, this.amount, this.date, {this.description, this.basket}); } 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 Basket { Product products; int amount; Basket(this.products, this.amount); } class SampleData { 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) ]; static List basket = [ Basket(products[0], 20), Basket(products[1], 2200), Basket(products[2], 2), Basket(products[3], 1), Basket(products[4], 1), Basket(products[5], 2), Basket(products[6], 222) ]; static List basket2 = [ Basket(products[0], 22), Basket(products[1], 2241), Basket(products[3], 2), Basket(products[4], 4), Basket(products[6], 2) ]; static List basket3 = [ Basket(products[0], -2), Basket(products[1], 21), Basket(products[3], -4), Basket(products[4], 1), Basket(products[6], 5) ]; 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)), description: 'Korrektur des Warenkorbs', basket: basket3, ), Transaction( TransaktionArt.monatlBeitrag, 0, now, ), Transaction( TransaktionArt.aufladung, 2042, now, ), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2)), basket: basket2), Transaction( TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), Transaction( TransaktionArt.monatlBeitrag, 0, now, ), Transaction( TransaktionArt.aufladung, 2042, now, ), Transaction( TransaktionArt.einkauf, -2442, now.subtract(const Duration(days: 2)), basket: basket, ), Transaction( TransaktionArt.korrektur, 2332, now.subtract(const Duration(hours: 5)), description: '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)), description: '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)), description: 'Korrektur des Warenkorbs'), ]; }