import 'models.dart'; class Pedido extends Basico { int? folio; String? estatus; String? comentarios; String? peticion; String? nombreCliente; double? totalPedido; int? descuento; int? idCliente; int? idMesa; String? terminado; int? cerrar; int? idUsuario; int? idModificador; int? idCancelado; String? tipoPago; double? cantEfectivo; double? cantTarjeta; double? cantTransferencia; List productos = []; int? idWeb; String? uuid; String? idCorteCaja; List propinas = []; String? sincronizado; Pedido({ super.id, this.folio, this.estatus, this.comentarios, this.peticion, this.nombreCliente, this.totalPedido, this.descuento, this.idCliente, this.idMesa, this.terminado, this.cerrar, this.idUsuario, this.idModificador, this.idCancelado, this.tipoPago, this.cantEfectivo, this.cantTarjeta, this.cantTransferencia, this.productos = const [], this.idWeb, this.sincronizado, this.uuid, this.idCorteCaja, }); @override Map toJson() { return { 'id': id, 'folio': folio, 'estatus': estatus, 'comentarios': comentarios, 'peticion': peticion, 'nombreCliente': nombreCliente, 'totalPedido': totalPedido, 'descuento': descuento, 'idCliente': idCliente, 'idMesa': idMesa, 'terminado': terminado, 'cerrar': cerrar, 'idUsuario': idUsuario, 'idModificador': idModificador, 'idCancelado': idCancelado, 'tipoPago': tipoPago, 'cantEfectivo': cantEfectivo, 'cantTarjeta': cantTarjeta, 'cantTransferencia': cantTransferencia, 'sincronizado': sincronizado, 'idWeb': idWeb, 'uuid': uuid, 'idCorteCaja': idCorteCaja, }..addAll(super.toJson()); } Map toApi() { idLocal = id; Map apiMap = { 'idLocal': idLocal, 'folio': folio, 'estatus': estatus, 'comentarios': comentarios, 'nombreCliente': nombreCliente, 'creado': peticion, 'idUsuario': idUsuario, 'tipoPago': tipoPago, 'totalPedido': totalPedido, 'descuento': descuento, 'cantEfectivo': cantEfectivo, 'cantTarjeta': cantTarjeta, 'cantTransferencia': cantTransferencia, 'idMesa': idMesa, 'uuid': uuid, 'idCorteCaja': idCorteCaja, 'productos': productos.map((producto) => producto.toApi()).toList(), 'propinas': propinas.map((propina) => propina.toApi()).toList(), }; Map basicoMap = super.toJson(); basicoMap.remove('id'); basicoMap.remove('eliminado'); apiMap.addAll(basicoMap); return apiMap; } Pedido.fromJson(Map json) { super.parseJson(json); id = (json['id'] as int?)!; folio = Basico.parseInt(json['folio']); estatus = Basico.parseString(json['estatus']); comentarios = Basico.parseString(json['comentarios']); peticion = Basico.parseString(json['peticion']); nombreCliente = Basico.parseString(json['nombreCliente']); totalPedido = Basico.parseDouble(json['totalPedido']); descuento = Basico.parseInt(json['descuento']); idCliente = Basico.parseInt(json['idCliente']); idMesa = Basico.parseInt(json['idMesa']); terminado = Basico.parseString(json['terminado']); cerrar = Basico.parseInt(json['cerrar']); idUsuario = Basico.parseInt(json['idUsuario']); idModificador = Basico.parseInt(json['idModificador']); idCancelado = Basico.parseInt(json['idCancelado']); tipoPago = Basico.parseString(json['tipoPago']); cantEfectivo = Basico.parseDouble(json['cantEfectivo']); cantTarjeta = Basico.parseDouble(json['cantTarjeta']); cantTransferencia = Basico.parseDouble(json['cantTransferencia']); uuid = Basico.parseString(json['uuid']); idWeb = Basico.parseInt(json['idWeb']); sincronizado = Basico.parseString(json['sincronizado']); idCorteCaja = Basico.parseString(json['idCorteCaja']); List _productos = []; if (json["productos"] != null && (json["productos"] as List).isNotEmpty) { for (var i in (json["productos"] as List)) { PedidoProducto m = PedidoProducto.fromJson(i); _productos.add(m); } } productos = _productos; if (json["propinas"] != null && (json["propinas"] as List).isNotEmpty) { propinas = (json["propinas"] as List) .map((item) => Propinas.fromJson(item)) .toList(); } } }