final DateTime now = DateTime.now(); enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur } enum Unit { stueck, menge } enum Category { obstUndGemuese, brotCerealienUndAufstriche, getraenke, drogerieUndHaushalt, kochenUndBacken, oeleSossenUndGewuerze, suessesUndKnabbereien, pfand } class Transaction { int id = 0; int amount; TransaktionArt type; DateTime date; List? basket; String? description; Transaction( {required this.type, required this.amount, required 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), Product('Flaschenpfand', Unit.stueck, -0.15, 0, Category.pfand) ]; 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), Basket(products[7], 5) ]; 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( type: TransaktionArt.monatlBeitrag, amount: 0, date: now, ), Transaction( type: TransaktionArt.aufladung, amount: 2042, date: now, ), Transaction( type: TransaktionArt.einkauf, amount: -2442, date: now.subtract(const Duration(days: 2)), basket: basket), Transaction( type: TransaktionArt.korrektur, amount: 2332, date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs', basket: basket3, ), Transaction( type: TransaktionArt.monatlBeitrag, amount: 0, date: now, ), Transaction( type: TransaktionArt.aufladung, amount: 2042, date: now, ), Transaction( type: TransaktionArt.einkauf, amount: -2442, date: now.subtract(const Duration(days: 2)), basket: basket2), Transaction( type: TransaktionArt.korrektur, amount: 2332, date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des FinanzAK'), Transaction( type: TransaktionArt.monatlBeitrag, amount: 0, date: now, ), Transaction( type: TransaktionArt.aufladung, amount: 2042, date: now, ), Transaction( type: TransaktionArt.einkauf, amount: -2442, date: now.subtract(const Duration(days: 2)), basket: basket, ), Transaction( type: TransaktionArt.korrektur, amount: 2332, date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), Transaction( type: TransaktionArt.monatlBeitrag, amount: 0, date: now, ), Transaction( type: TransaktionArt.aufladung, amount: 2042, date: now, ), Transaction( type: TransaktionArt.einkauf, amount: -2442, date: now.subtract(const Duration(days: 2)), basket: basket), Transaction( type: TransaktionArt.korrektur, amount: 2332, date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), Transaction( type: TransaktionArt.monatlBeitrag, amount: 0, date: now, ), Transaction( type: TransaktionArt.aufladung, amount: 2042, date: now, ), Transaction( type: TransaktionArt.einkauf, amount: -2442, date: now.subtract(const Duration(days: 2)), basket: basket2), Transaction( type: TransaktionArt.korrektur, amount: 2332, date: now.subtract(const Duration(hours: 5)), description: 'Korrektur des Warenkorbs'), ]; }