pedido_model.dart 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. import 'package:intl/intl.dart';
  2. import 'models.dart';
  3. import '../services/services.dart';
  4. class Pedido extends Basico {
  5. int? folio;
  6. String? estatus;
  7. String? comentarios;
  8. String? peticion;
  9. String? nombreCliente;
  10. double? totalPedido;
  11. int? descuento;
  12. int? idCliente;
  13. int? idMesa;
  14. String? terminado;
  15. int? cerrar;
  16. int? idUsuario;
  17. int? idModificador;
  18. int? idCancelado;
  19. String? tipoPago;
  20. double? cantEfectivo;
  21. double? cantTarjeta;
  22. double? cantTransferencia;
  23. List<PedidoProducto> productos = [];
  24. int? idWeb;
  25. String? uuid;
  26. String? idCorteCaja;
  27. List<Propinas> propinas = [];
  28. String? sincronizado;
  29. Pedido({
  30. super.id,
  31. this.folio,
  32. this.estatus,
  33. this.comentarios,
  34. this.peticion,
  35. this.nombreCliente,
  36. this.totalPedido,
  37. this.descuento,
  38. this.idCliente,
  39. this.idMesa,
  40. this.terminado,
  41. this.cerrar,
  42. this.idUsuario,
  43. this.idModificador,
  44. this.idCancelado,
  45. this.tipoPago,
  46. this.cantEfectivo,
  47. this.cantTarjeta,
  48. this.cantTransferencia,
  49. this.productos = const [],
  50. this.idWeb,
  51. this.sincronizado,
  52. this.uuid,
  53. this.idCorteCaja,
  54. });
  55. @override
  56. Map<String, dynamic> toJson() {
  57. return {
  58. 'id': id,
  59. 'folio': folio,
  60. 'estatus': estatus,
  61. 'comentarios': comentarios,
  62. 'peticion': peticion,
  63. 'nombreCliente': nombreCliente,
  64. 'totalPedido': totalPedido,
  65. 'descuento': descuento,
  66. 'idCliente': idCliente,
  67. 'idMesa': idMesa,
  68. 'terminado': terminado,
  69. 'cerrar': cerrar,
  70. 'idUsuario': idUsuario,
  71. 'idModificador': idModificador,
  72. 'idCancelado': idCancelado,
  73. 'tipoPago': tipoPago,
  74. 'cantEfectivo': cantEfectivo,
  75. 'cantTarjeta': cantTarjeta,
  76. 'cantTransferencia': cantTransferencia,
  77. 'sincronizado': sincronizado,
  78. 'idWeb': idWeb,
  79. 'uuid': uuid,
  80. }..addAll(super.toJson());
  81. }
  82. Map<String, dynamic> toApi() {
  83. idLocal = id;
  84. Map<String, dynamic> apiMap = {
  85. 'idLocal': idLocal,
  86. 'folio': folio,
  87. 'estatus': estatus,
  88. 'comentarios': comentarios,
  89. 'nombreCliente': nombreCliente,
  90. 'creado': peticion,
  91. 'idUsuario': idUsuario,
  92. 'tipoPago': tipoPago,
  93. 'totalPedido': totalPedido,
  94. 'descuento': descuento,
  95. 'cantEfectivo': cantEfectivo,
  96. 'cantTarjeta': cantTarjeta,
  97. 'cantTransferencia': cantTransferencia,
  98. 'idMesa': idMesa,
  99. 'uuid': uuid,
  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. List<PedidoProducto> _productos = [];
  134. if (json["productos"] != null && (json["productos"] as List).isNotEmpty) {
  135. for (var i in (json["productos"] as List)) {
  136. PedidoProducto m = PedidoProducto.fromJson(i);
  137. _productos.add(m);
  138. }
  139. }
  140. productos = _productos;
  141. if (json["propinas"] != null && (json["propinas"] as List).isNotEmpty) {
  142. propinas = (json["propinas"] as List)
  143. .map((item) => Propinas.fromJson(item))
  144. .toList();
  145. }
  146. }
  147. }