pedido_model.dart 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. import 'models.dart';
  2. class Pedido extends Basico {
  3. int? folio;
  4. String? estatus;
  5. String? comentarios;
  6. String? peticion;
  7. String? nombreCliente;
  8. double? totalPedido;
  9. int? descuento;
  10. int? idCliente;
  11. int? idMesa;
  12. String? terminado;
  13. int? cerrar;
  14. int? idUsuario;
  15. int? idModificador;
  16. int? idCancelado;
  17. String? tipoPago;
  18. double? cantEfectivo;
  19. double? cantTarjeta;
  20. double? cantTransferencia;
  21. List<PedidoProducto> productos = [];
  22. int? idWeb;
  23. String? uuid;
  24. String? idCorteCaja;
  25. List<Propinas> propinas = [];
  26. String? sincronizado;
  27. Pedido({
  28. super.id,
  29. this.folio,
  30. this.estatus,
  31. this.comentarios,
  32. this.peticion,
  33. this.nombreCliente,
  34. this.totalPedido,
  35. this.descuento,
  36. this.idCliente,
  37. this.idMesa,
  38. this.terminado,
  39. this.cerrar,
  40. this.idUsuario,
  41. this.idModificador,
  42. this.idCancelado,
  43. this.tipoPago,
  44. this.cantEfectivo,
  45. this.cantTarjeta,
  46. this.cantTransferencia,
  47. this.productos = const [],
  48. this.idWeb,
  49. this.sincronizado,
  50. this.uuid,
  51. this.idCorteCaja,
  52. });
  53. @override
  54. Map<String, dynamic> toJson() {
  55. return {
  56. 'id': id,
  57. 'folio': folio,
  58. 'estatus': estatus,
  59. 'comentarios': comentarios,
  60. 'peticion': peticion,
  61. 'nombreCliente': nombreCliente,
  62. 'totalPedido': totalPedido,
  63. 'descuento': descuento,
  64. 'idCliente': idCliente,
  65. 'idMesa': idMesa,
  66. 'terminado': terminado,
  67. 'cerrar': cerrar,
  68. 'idUsuario': idUsuario,
  69. 'idModificador': idModificador,
  70. 'idCancelado': idCancelado,
  71. 'tipoPago': tipoPago,
  72. 'cantEfectivo': cantEfectivo,
  73. 'cantTarjeta': cantTarjeta,
  74. 'cantTransferencia': cantTransferencia,
  75. 'sincronizado': sincronizado,
  76. 'idWeb': idWeb,
  77. 'uuid': uuid,
  78. 'idCorteCaja': idCorteCaja,
  79. }..addAll(super.toJson());
  80. }
  81. Map<String, dynamic> toApi() {
  82. idLocal = id;
  83. Map<String, dynamic> apiMap = {
  84. 'idLocal': idLocal,
  85. 'folio': folio,
  86. 'estatus': estatus,
  87. 'comentarios': comentarios,
  88. 'nombreCliente': nombreCliente,
  89. 'creado': peticion,
  90. 'idUsuario': idUsuario,
  91. 'tipoPago': tipoPago,
  92. 'totalPedido': totalPedido,
  93. 'descuento': descuento,
  94. 'cantEfectivo': cantEfectivo,
  95. 'cantTarjeta': cantTarjeta,
  96. 'cantTransferencia': cantTransferencia,
  97. 'idMesa': idMesa,
  98. 'uuid': uuid,
  99. 'idCorteCaja': idCorteCaja,
  100. 'productos': productos.map((producto) => producto.toApi()).toList(),
  101. 'propinas': propinas.map((propina) => propina.toApi()).toList(),
  102. };
  103. Map<String, dynamic> basicoMap = super.toJson();
  104. basicoMap.remove('id');
  105. basicoMap.remove('eliminado');
  106. apiMap.addAll(basicoMap);
  107. return apiMap;
  108. }
  109. Pedido.fromJson(Map<String, dynamic> json) {
  110. super.parseJson(json);
  111. id = (json['id'] as int?)!;
  112. folio = Basico.parseInt(json['folio']);
  113. estatus = Basico.parseString(json['estatus']);
  114. comentarios = Basico.parseString(json['comentarios']);
  115. peticion = Basico.parseString(json['peticion']);
  116. nombreCliente = Basico.parseString(json['nombreCliente']);
  117. totalPedido = Basico.parseDouble(json['totalPedido']);
  118. descuento = Basico.parseInt(json['descuento']);
  119. idCliente = Basico.parseInt(json['idCliente']);
  120. idMesa = Basico.parseInt(json['idMesa']);
  121. terminado = Basico.parseString(json['terminado']);
  122. cerrar = Basico.parseInt(json['cerrar']);
  123. idUsuario = Basico.parseInt(json['idUsuario']);
  124. idModificador = Basico.parseInt(json['idModificador']);
  125. idCancelado = Basico.parseInt(json['idCancelado']);
  126. tipoPago = Basico.parseString(json['tipoPago']);
  127. cantEfectivo = Basico.parseDouble(json['cantEfectivo']);
  128. cantTarjeta = Basico.parseDouble(json['cantTarjeta']);
  129. cantTransferencia = Basico.parseDouble(json['cantTransferencia']);
  130. uuid = Basico.parseString(json['uuid']);
  131. idWeb = Basico.parseInt(json['idWeb']);
  132. sincronizado = Basico.parseString(json['sincronizado']);
  133. idCorteCaja = Basico.parseString(json['idCorteCaja']);
  134. List<PedidoProducto> _productos = [];
  135. if (json["productos"] != null && (json["productos"] as List).isNotEmpty) {
  136. for (var i in (json["productos"] as List)) {
  137. PedidoProducto m = PedidoProducto.fromJson(i);
  138. _productos.add(m);
  139. }
  140. }
  141. productos = _productos;
  142. if (json["propinas"] != null && (json["propinas"] as List).isNotEmpty) {
  143. propinas = (json["propinas"] as List)
  144. .map((item) => Propinas.fromJson(item))
  145. .toList();
  146. }
  147. }
  148. }