mesa_model.dart 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. import '../models/basico_model.dart';
  2. import '../services/services.dart';
  3. enum EstadoPedido {
  4. disponible,
  5. surtida,
  6. preparacion,
  7. cobrado,
  8. }
  9. class Mesa extends Basico {
  10. int? idSucursal;
  11. String? nombre;
  12. String? clave;
  13. String? posicion;
  14. bool? activa;
  15. EstadoPedido? estado;
  16. Mesa(
  17. {super.id,
  18. super.idLocal,
  19. this.idSucursal,
  20. this.nombre,
  21. this.clave,
  22. this.posicion,
  23. this.activa,
  24. this.estado = EstadoPedido.disponible,
  25. super.creado,
  26. super.modificado,
  27. super.eliminado});
  28. @override
  29. Map<String, dynamic> toJson() {
  30. return {
  31. 'id': id,
  32. 'idSucursal': idSucursal ?? 0,
  33. 'nombre': nombre ?? '',
  34. 'clave': clave ?? '',
  35. 'posicion': posicion ?? '',
  36. 'activa': activa == true ? 1 : 0,
  37. 'creado': creado?.toIso8601String(),
  38. 'modificado': modificado?.toIso8601String(),
  39. 'eliminado': eliminado?.toIso8601String(),
  40. }..addAll(super.toJson());
  41. }
  42. Map<String, dynamic> toMap() {
  43. return {
  44. 'id': id,
  45. 'idSucursal': idSucursal ?? 0,
  46. 'nombre': nombre ?? '',
  47. 'clave': clave ?? '',
  48. 'posicion': posicion ?? '',
  49. 'activa': (activa == true) ? 1 : 0,
  50. 'creado': creado?.toIso8601String(),
  51. 'modificado': modificado?.toIso8601String(),
  52. 'eliminado': eliminado?.toIso8601String(),
  53. };
  54. }
  55. static Mesa fromMap(Map<String, dynamic> map) {
  56. // Ejemplo de parseo, usando tu Basico.parseInt, etc. si gustas:
  57. final mesa = Mesa(
  58. id: map['id'] as int,
  59. idSucursal: map['idSucursal'] as int?,
  60. nombre: map['nombre'] as String?,
  61. clave: map['clave'] as String?,
  62. posicion: map['posicion'] as String?,
  63. activa: (map['activa'] == 1),
  64. );
  65. return mesa;
  66. }
  67. Mesa.fromJson(Map<String, dynamic> json) {
  68. super.parseJson(json);
  69. idSucursal = Basico.parseInt(json['idSucursal']);
  70. nombre = Basico.parseString(json['nombre']);
  71. clave = Basico.parseString(json['clave']);
  72. posicion = Basico.parseString(json['posicion']);
  73. activa = Basico.parseInt(json['activa']) == 1;
  74. }
  75. Mesa.fromApi(Map<String, dynamic> json) {
  76. super.parseJson(json);
  77. idSucursal = Basico.parseInt(json['idSucursal']);
  78. nombre = Basico.parseString(json['nombre']);
  79. clave = Basico.parseString(json['clave']);
  80. posicion = Basico.parseString(json['posicion']);
  81. if (json['activo'] is bool) {
  82. activa = json['activo'];
  83. } else {
  84. activa = Basico.parseInt(json['activo']) == 1;
  85. }
  86. creado = Basico.parseDate(json['creado']);
  87. modificado = Basico.parseDate(json['modificado']);
  88. eliminado = Basico.parseDate(json['eliminado']);
  89. }
  90. Future<void> guardar() async {
  91. idLocal = await DatabaseService().guardar(this);
  92. }
  93. }