import 'package:yoshi_papas_app/models/models.dart'; import '../services/services.dart'; import 'basico_model.dart'; class Producto extends Basico { int? idCategoria; CategoriaProducto? categoria; String? nombre; String? descripcion; String? imagen; int? venta; int? existencia; String? precio; int? verMenu; String? codigo; String? descuento; String? venceDescuento; int? toping; List? topings; Producto({ super.id, this.idCategoria, this.nombre, this.descripcion, this.imagen, this.venta, this.existencia, this.precio, this.verMenu, this.codigo, this.descuento, this.venceDescuento, this.toping, this.topings, }); @override Map toJson() { return { 'id': id, 'idCategoria': idCategoria, 'nombre': nombre, 'descripcion': descripcion, 'imagen': imagen, 'venta': venta, 'existencia': existencia, 'precio': precio, 'verMenu': verMenu, 'codigo': codigo, 'descuento': descuento, 'venceDescuento': venceDescuento, 'toping': toping, }..addAll(super.toJson()); } Map toMap() { return { 'id': id, 'idCategoria': idCategoria, 'nombre': nombre, 'descripcion': descripcion, 'imagen': imagen, 'venta': venta, 'existencia': existencia, 'precio': precio, 'verMenu': verMenu, 'codigo': codigo, 'descuento': descuento, 'venceDescuento': venceDescuento, 'toping': toping, }; } Producto.fromJson(Map json) { super.parseJson(json); idCategoria = Basico.parseInt(json['idCategoria']); categoria = json["categoria"] != null ? CategoriaProducto.fromJson(json["categoria"]) : null; nombre = Basico.parseString(json['nombre']); descripcion = Basico.parseString(json['descripcion']); imagen = Basico.parseString(json['imagen']); venta = Basico.parseInt(json['venta']); existencia = Basico.parseInt(json['existencia']); precio = Basico.parseString(json['precio']); verMenu = Basico.parseInt(json['verMenu']); codigo = Basico.parseString(json['codigo']); descuento = Basico.parseString(json['descuento']); venceDescuento = Basico.parseString(json['venceDescuento']); if (json['toping'] is bool) { toping = json['toping'] ? 1 : 0; } else { toping = Basico.parseInt(json['toping']); } if (json['toppings'] != null) { topings = (json['toppings'] as List) .map((id) => Producto(id: id as int)) .toList(); } } Future guardar() async { idLocal = await RepoService().guardar(this); } }