import 'dart:convert'; import 'package:uuid/uuid.dart'; import 'product.dart'; class CartLineItem { int id; double unitPrice; double totalPrice; Product product; String name; String description; double quantity; String uuid; String parentUuid; CartLineItem() { uuid = Uuid().v4(); } CartLineItem.fromJson(Map json) : id = json['id'], unitPrice = double.parse(json['unit_price'].toString()), totalPrice = json['total_price'] != null ? double.parse(json['total_price'].toString()) : double.parse(json['unit_price'].toString()) * double.parse(json['quantity'].toString()), product = json['product'] != null ? Product.fromJson(json['product']) : null, name = json['name'], description = json['description'], quantity = double.parse(json['quantity'].toString()), uuid = Uuid().v4(); Map toJson() => { 'id': id, 'unit_price': unitPrice, 'total_price': totalPrice, 'product': product, 'name': name, 'description': description, 'quantity': quantity, 'uuid': uuid, 'parentUuid': parentUuid }; @override String toString() { return json.encode(this); } double getTotalPrice() { totalPrice = unitPrice * quantity; return totalPrice; } }