added categories, import export, settings
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
/// A confirmed shopping trip saved from a receipt.
|
||||
library;
|
||||
|
||||
class Shop {
|
||||
const Shop({
|
||||
required this.id,
|
||||
required this.supermarket,
|
||||
required this.shoppedAt,
|
||||
required this.total,
|
||||
required this.itemCount,
|
||||
this.receiptImagePath,
|
||||
});
|
||||
|
||||
final int id;
|
||||
final String supermarket;
|
||||
final DateTime shoppedAt;
|
||||
final double total;
|
||||
final int itemCount;
|
||||
final String? receiptImagePath;
|
||||
|
||||
factory Shop.fromMap(Map<String, Object?> map) {
|
||||
return Shop(
|
||||
id: map['id']! as int,
|
||||
supermarket: map['supermarket']! as String,
|
||||
shoppedAt: DateTime.parse(map['shopped_at']! as String),
|
||||
total: (map['total']! as num).toDouble(),
|
||||
itemCount: (map['item_count'] as num?)?.toInt() ?? 0,
|
||||
receiptImagePath: map['receipt_image_path'] as String?,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class ShopItem {
|
||||
const ShopItem({
|
||||
required this.id,
|
||||
required this.shopId,
|
||||
required this.productId,
|
||||
required this.name,
|
||||
required this.price,
|
||||
this.quantity,
|
||||
this.unitPrice,
|
||||
});
|
||||
|
||||
final int id;
|
||||
final int shopId;
|
||||
final int productId;
|
||||
final String name;
|
||||
final double price;
|
||||
final int? quantity;
|
||||
final double? unitPrice;
|
||||
|
||||
factory ShopItem.fromMap(Map<String, Object?> map) {
|
||||
return ShopItem(
|
||||
id: map['id']! as int,
|
||||
shopId: map['shop_id']! as int,
|
||||
productId: map['product_id']! as int,
|
||||
name: map['name']! as String,
|
||||
price: (map['price']! as num).toDouble(),
|
||||
quantity: map['quantity'] as int?,
|
||||
unitPrice: (map['unit_price'] as num?)?.toDouble(),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user