123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- import '../models/basico_model.dart';
- import '../services/services.dart';
- enum EstadoPedido {
- disponible,
- surtida,
- preparacion,
- cobrado,
- }
- class Mesa extends Basico {
- int? idSucursal;
- String? nombre;
- String? clave;
- String? posicion;
- bool? activa;
- EstadoPedido? estado;
- Mesa(
- {super.id,
- super.idLocal,
- this.idSucursal,
- this.nombre,
- this.clave,
- this.posicion,
- this.activa,
- this.estado = EstadoPedido.disponible,
- super.creado,
- super.modificado,
- super.eliminado});
- @override
- Map<String, dynamic> toJson() {
- return {
- 'id': id,
- 'idSucursal': idSucursal ?? 0,
- 'nombre': nombre ?? '',
- 'clave': clave ?? '',
- 'posicion': posicion ?? '',
- 'activa': activa == true ? 1 : 0,
- 'creado': creado?.toIso8601String(),
- 'modificado': modificado?.toIso8601String(),
- 'eliminado': eliminado?.toIso8601String(),
- }..addAll(super.toJson());
- }
- Map<String, dynamic> toMap() {
- return {
- 'id': id,
- 'idSucursal': idSucursal ?? 0,
- 'nombre': nombre ?? '',
- 'clave': clave ?? '',
- 'posicion': posicion ?? '',
- 'activa': (activa == true) ? 1 : 0,
- 'creado': creado?.toIso8601String(),
- 'modificado': modificado?.toIso8601String(),
- 'eliminado': eliminado?.toIso8601String(),
- };
- }
- static Mesa fromMap(Map<String, dynamic> map) {
- // Ejemplo de parseo, usando tu Basico.parseInt, etc. si gustas:
- final mesa = Mesa(
- id: map['id'] as int,
- idSucursal: map['idSucursal'] as int?,
- nombre: map['nombre'] as String?,
- clave: map['clave'] as String?,
- posicion: map['posicion'] as String?,
- activa: (map['activa'] == 1),
- );
- return mesa;
- }
- Mesa.fromJson(Map<String, dynamic> json) {
- super.parseJson(json);
- idSucursal = Basico.parseInt(json['idSucursal']);
- nombre = Basico.parseString(json['nombre']);
- clave = Basico.parseString(json['clave']);
- posicion = Basico.parseString(json['posicion']);
- activa = Basico.parseInt(json['activa']) == 1;
- }
- Mesa.fromApi(Map<String, dynamic> json) {
- super.parseJson(json);
- idSucursal = Basico.parseInt(json['idSucursal']);
- nombre = Basico.parseString(json['nombre']);
- clave = Basico.parseString(json['clave']);
- posicion = Basico.parseString(json['posicion']);
- if (json['activo'] is bool) {
- activa = json['activo'];
- } else {
- activa = Basico.parseInt(json['activo']) == 1;
- }
- creado = Basico.parseDate(json['creado']);
- modificado = Basico.parseDate(json['modificado']);
- eliminado = Basico.parseDate(json['eliminado']);
- }
- Future<void> guardar() async {
- idLocal = await DatabaseService().guardar(this);
- }
- }
|