forked from mgl_crew/Mitgliederladen
Compare commits
2 commits
main
...
feature/mo
Author | SHA1 | Date | |
---|---|---|---|
|
48e7d76e1a | ||
|
96c89170a0 |
4 changed files with 55 additions and 14 deletions
|
@ -20,7 +20,7 @@ class ShowBasket extends StatelessWidget {
|
||||||
return Card(
|
return Card(
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
leading: const Icon(Icons.abc),
|
leading: const Icon(Icons.abc),
|
||||||
title: Text(SampleData().basket.purchases[index].product.name),
|
title: Text(SampleData().basket.purchases.keys.elementAt(index).name),
|
||||||
//trailing: Text(),
|
//trailing: Text(),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
final now = DateTime.now();
|
final now = DateTime.now();
|
||||||
|
|
||||||
enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur }
|
enum TransaktionArt { monatlBeitrag, aufladung, einkauf, korrektur }
|
||||||
|
@ -27,7 +29,7 @@ class Product {
|
||||||
final int id = 0;
|
final int id = 0;
|
||||||
final String name;
|
final String name;
|
||||||
final Unit unit;
|
final Unit unit;
|
||||||
final double price; //pro Kilogramm oder Stück
|
final double price; //pro Kilogramm oder Stück, d.h. pro unit
|
||||||
final double vat;
|
final double vat;
|
||||||
final Category category;
|
final Category category;
|
||||||
const Product(this.name, this.unit, this.price, this.vat, this.category);
|
const Product(this.name, this.unit, this.price, this.vat, this.category);
|
||||||
|
@ -40,9 +42,23 @@ class Purchase {
|
||||||
}
|
}
|
||||||
|
|
||||||
class Basket {
|
class Basket {
|
||||||
List<Purchase> purchases;
|
Map<Product, int> purchases;
|
||||||
int price;
|
double price;
|
||||||
Basket(this.purchases, this.price);
|
String guid;
|
||||||
|
|
||||||
|
Basket(this.purchases, this.price): guid = const Uuid().v4();
|
||||||
|
|
||||||
|
void addItem(Product product, int quantity) {
|
||||||
|
if (purchases.containsKey(product)) {
|
||||||
|
purchases.update(product, (existingQuantity) => existingQuantity + quantity);
|
||||||
|
} else {
|
||||||
|
purchases[product] = quantity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void removeItem(Product product) {
|
||||||
|
purchases.remove(product);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//sample data
|
//sample data
|
||||||
|
@ -90,13 +106,13 @@ class SampleData {
|
||||||
Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien)
|
Product('Schokolade', Unit.menge, 0.23, 7, Category.suessesUndKnabbereien)
|
||||||
];
|
];
|
||||||
|
|
||||||
Basket basket = Basket([
|
Basket basket = Basket({
|
||||||
Purchase(products[0], 20),
|
products[0]: 20,
|
||||||
Purchase(products[1], 2200),
|
products[1]: 2200,
|
||||||
Purchase(products[2], 2),
|
products[2]: 2,
|
||||||
Purchase(products[3], 1),
|
products[3]: 1,
|
||||||
Purchase(products[4], 1),
|
products[4]: 1,
|
||||||
Purchase(products[5], 2),
|
products[5]: 2,
|
||||||
Purchase(products[6], 202)
|
products[6]: 202
|
||||||
], 304);
|
}, 304);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.17.1"
|
version: "1.17.1"
|
||||||
|
crypto:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: crypto
|
||||||
|
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.3"
|
||||||
cupertino_icons:
|
cupertino_icons:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -184,6 +192,22 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.5.1"
|
version: "0.5.1"
|
||||||
|
typed_data:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: typed_data
|
||||||
|
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.2"
|
||||||
|
uuid:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: uuid
|
||||||
|
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.7"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -28,6 +28,7 @@ environment:
|
||||||
# the latest version available on pub.dev. To see which dependencies have newer
|
# the latest version available on pub.dev. To see which dependencies have newer
|
||||||
# versions available, run `flutter pub outdated`.
|
# versions available, run `flutter pub outdated`.
|
||||||
dependencies:
|
dependencies:
|
||||||
|
uuid: ^3.0.4
|
||||||
flutter:
|
flutter:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue