pedido_model.dart 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. import 'package:conalep_pos/models/mesa_model.dart';
  2. import 'package:intl/intl.dart';
  3. import 'basico_model.dart';
  4. import 'pedido_producto_model.dart';
  5. import '../services/services.dart';
  6. class Pedido extends Basico {
  7. int? folio;
  8. String? estatus;
  9. String? comentarios;
  10. String? peticion;
  11. String? nombreCliente;
  12. double? totalPedido;
  13. int? descuento;
  14. int? idCliente;
  15. int? idMesa;
  16. String? terminado;
  17. int? cerrar;
  18. int? idUsuario;
  19. int? idModificador;
  20. int? idCancelado;
  21. String? tipoPago;
  22. double? cantEfectivo;
  23. double? cantTarjeta;
  24. double? cantTransferencia;
  25. List<PedidoProducto> productos = [];
  26. int? idWeb;
  27. Mesa? mesa;
  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.mesa,
  52. this.sincronizado,
  53. });
  54. @override
  55. Map<String, dynamic> toJson() {
  56. return {
  57. 'id': id,
  58. 'folio': folio,
  59. 'estatus': estatus,
  60. 'comentarios': comentarios,
  61. 'peticion': peticion,
  62. 'nombreCliente': nombreCliente,
  63. 'totalPedido': totalPedido,
  64. 'descuento': descuento,
  65. 'idCliente': idCliente,
  66. 'idMesa': idMesa,
  67. 'terminado': terminado,
  68. 'cerrar': cerrar,
  69. 'idUsuario': idUsuario,
  70. 'idModificador': idModificador,
  71. 'idCancelado': idCancelado,
  72. 'tipoPago': tipoPago,
  73. 'cantEfectivo': cantEfectivo,
  74. 'cantTarjeta': cantTarjeta,
  75. 'cantTransferencia': cantTransferencia,
  76. 'mesa': mesa,
  77. 'sincronizado': sincronizado,
  78. }..addAll(super.toJson());
  79. }
  80. Map<String, dynamic> toApi() {
  81. idLocal = id;
  82. Map<String, dynamic> apiMap = {
  83. 'idLocal': idLocal,
  84. 'folio': folio,
  85. 'estatus': estatus,
  86. 'comentarios': comentarios,
  87. 'nombreCliente': nombreCliente,
  88. 'creado': peticion,
  89. 'tipoPago': tipoPago,
  90. 'totalPedido': totalPedido,
  91. 'descuento': descuento,
  92. 'cantEfectivo': cantEfectivo,
  93. 'cantTarjeta': cantTarjeta,
  94. 'cantTransferencia': cantTransferencia,
  95. 'mesa': mesa,
  96. 'productos': productos.map((producto) => producto.toApi()).toList(),
  97. };
  98. Map<String, dynamic> basicoMap = super.toJson();
  99. basicoMap.remove('id');
  100. basicoMap.remove('eliminado');
  101. apiMap.addAll(basicoMap);
  102. return apiMap;
  103. }
  104. Pedido.fromJson(Map<String, dynamic> json) {
  105. super.parseJson(json);
  106. id = (json['id'] as int?)!;
  107. folio = Basico.parseInt(json['folio']);
  108. estatus = Basico.parseString(json['estatus']);
  109. comentarios = Basico.parseString(json['comentarios']);
  110. peticion = Basico.parseString(json['peticion']);
  111. nombreCliente = Basico.parseString(json['nombreCliente']);
  112. totalPedido = Basico.parseDouble(json['totalPedido']);
  113. descuento = Basico.parseInt(json['descuento']);
  114. idCliente = Basico.parseInt(json['idCliente']);
  115. idMesa = Basico.parseInt(json['idMesa']);
  116. terminado = Basico.parseString(json['terminado']);
  117. cerrar = Basico.parseInt(json['cerrar']);
  118. idUsuario = Basico.parseInt(json['idUsuario']);
  119. idModificador = Basico.parseInt(json['idModificador']);
  120. idCancelado = Basico.parseInt(json['idCancelado']);
  121. tipoPago = Basico.parseString(json['tipoPago']);
  122. cantEfectivo = Basico.parseDouble(json['cantEfectivo']);
  123. cantTarjeta = Basico.parseDouble(json['cantTarjeta']);
  124. cantTransferencia = Basico.parseDouble(json['cantTransferencia']);
  125. idWeb = Basico.parseInt(json['idWeb']);
  126. sincronizado = Basico.parseString(json['sincronizado']);
  127. mesa =
  128. json["mesa"] == null ? null : Mesa.fromJson(json["mesa"]);
  129. List<PedidoProducto> _productos = [];
  130. if (json["productos"] != null && (json["productos"] as List).isNotEmpty) {
  131. for (var i in (json["productos"] as List)) {
  132. PedidoProducto m = PedidoProducto.fromJson(i);
  133. _productos.add(m);
  134. }
  135. }
  136. productos = _productos;
  137. }
  138. }