pedido_model.dart 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  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. 'idCorteCaja': idCorteCaja,
  81. }..addAll(super.toJson());
  82. }
  83. Map<String, dynamic> toApi() {
  84. idLocal = id;
  85. Map<String, dynamic> apiMap = {
  86. 'idLocal': idLocal,
  87. 'folio': folio,
  88. 'estatus': estatus,
  89. 'comentarios': comentarios,
  90. 'nombreCliente': nombreCliente,
  91. 'creado': peticion,
  92. 'idUsuario': idUsuario,
  93. 'tipoPago': tipoPago,
  94. 'totalPedido': totalPedido,
  95. 'descuento': descuento,
  96. 'cantEfectivo': cantEfectivo,
  97. 'cantTarjeta': cantTarjeta,
  98. 'cantTransferencia': cantTransferencia,
  99. 'idMesa': idMesa,
  100. 'uuid': uuid,
  101. 'idCorteCaja': idCorteCaja,
  102. 'productos': productos.map((producto) => producto.toApi()).toList(),
  103. 'propinas': propinas.map((propina) => propina.toApi()).toList(),
  104. };
  105. Map<String, dynamic> basicoMap = super.toJson();
  106. basicoMap.remove('id');
  107. basicoMap.remove('eliminado');
  108. apiMap.addAll(basicoMap);
  109. return apiMap;
  110. }
  111. Pedido.fromJson(Map<String, dynamic> json) {
  112. super.parseJson(json);
  113. id = (json['id'] as int?)!;
  114. folio = Basico.parseInt(json['folio']);
  115. estatus = Basico.parseString(json['estatus']);
  116. comentarios = Basico.parseString(json['comentarios']);
  117. peticion = Basico.parseString(json['peticion']);
  118. nombreCliente = Basico.parseString(json['nombreCliente']);
  119. totalPedido = Basico.parseDouble(json['totalPedido']);
  120. descuento = Basico.parseInt(json['descuento']);
  121. idCliente = Basico.parseInt(json['idCliente']);
  122. idMesa = Basico.parseInt(json['idMesa']);
  123. terminado = Basico.parseString(json['terminado']);
  124. cerrar = Basico.parseInt(json['cerrar']);
  125. idUsuario = Basico.parseInt(json['idUsuario']);
  126. idModificador = Basico.parseInt(json['idModificador']);
  127. idCancelado = Basico.parseInt(json['idCancelado']);
  128. tipoPago = Basico.parseString(json['tipoPago']);
  129. cantEfectivo = Basico.parseDouble(json['cantEfectivo']);
  130. cantTarjeta = Basico.parseDouble(json['cantTarjeta']);
  131. cantTransferencia = Basico.parseDouble(json['cantTransferencia']);
  132. uuid = Basico.parseString(json['uuid']);
  133. idWeb = Basico.parseInt(json['idWeb']);
  134. sincronizado = Basico.parseString(json['sincronizado']);
  135. idCorteCaja = Basico.parseString(json['idCorteCaja']);
  136. List<PedidoProducto> _productos = [];
  137. if (json["productos"] != null && (json["productos"] as List).isNotEmpty) {
  138. for (var i in (json["productos"] as List)) {
  139. PedidoProducto m = PedidoProducto.fromJson(i);
  140. _productos.add(m);
  141. }
  142. }
  143. productos = _productos;
  144. if (json["propinas"] != null && (json["propinas"] as List).isNotEmpty) {
  145. propinas = (json["propinas"] as List)
  146. .map((item) => Propinas.fromJson(item))
  147. .toList();
  148. }
  149. }
  150. }