import '../models/models.dart'; import '../services/repo_service.dart'; import 'basico_model.dart'; class Usuario extends Basico { String? nombre; String? apellidos; String? correo; String? celular; String? celularPersonal; int? rol; bool? genero; int? estatus; String? imagen; String? rfc; String? razonSocial; String? calle; String? numeroExterior; String? colonia; String? codigoPostal; int? idCiudad; int? idEstado; int? idSucursal; String? turno; List? permisos; static const VER_CATEGORIAS = 'VER_CATEGORIAS'; static const VER_DESC_APP = 'VER_DESC_APP'; static const VER_SUCURSALES = 'VER_SUCURSALES'; static const VER_ADMIN = 'VER_ADMIN'; Usuario({ super.id, this.nombre, this.apellidos, this.correo, this.celular, this.celularPersonal, this.rol, this.genero, this.estatus, this.imagen, this.rfc, this.razonSocial, this.calle, this.numeroExterior, this.colonia, this.codigoPostal, this.idCiudad, this.idEstado, this.idSucursal, this.turno, this.permisos, }); @override Map toJson() { return { 'id': id, 'nombre': nombre, 'apellidos': apellidos, 'correo': correo, 'celular': celular, 'celularPersonal': celularPersonal, 'rol': rol, 'genero': genero != null ? (genero! ? 1 : 0) : null, 'estatus': estatus, 'imagen': imagen, 'rfc': rfc, 'razonSocial': razonSocial, 'calle': calle, 'numeroExterior': numeroExterior, 'colonia': colonia, 'codigoPostal': codigoPostal, 'idCiudad': idCiudad, 'idEstado': idEstado, 'idSucursal': idSucursal, 'turno': turno, 'creado': creado?.toIso8601String(), 'modificado': modificado?.toIso8601String(), 'eliminado': eliminado?.toIso8601String(), }..addAll(super.toJson()); } Map toMap() { return { 'id': id, 'nombre': nombre, 'apellidos': apellidos, 'correo': correo, 'celular': celular, 'celularPersonal': celularPersonal, 'rol': rol, 'genero': genero, 'estatus': estatus, 'imagen': imagen, 'rfc': rfc, 'razonSocial': razonSocial, 'calle': calle, 'numeroExterior': numeroExterior, 'colonia': colonia, 'codigoPostal': codigoPostal, 'idCiudad': idCiudad, 'idEstado': idEstado, 'idSucursal': idSucursal, 'turno': turno, 'creado': creado != null ? creado!.toIso8601String() : null, 'modificado': modificado != null ? modificado!.toIso8601String() : null, 'eliminado': eliminado != null ? eliminado!.toIso8601String() : null, }; } Usuario.fromJson(Map json) { super.parseJson(json); nombre = Basico.parseString(json['nombre']); apellidos = Basico.parseString(json['apellidos']); correo = Basico.parseString(json['correo']); celular = Basico.parseString(json['celular']); celularPersonal = Basico.parseString(json['celularPersonal']); rol = Basico.parseInt(json['rol']); genero = Basico.parseBolean(json['genero']); estatus = Basico.parseInt(json['estatus']); imagen = Basico.parseString(json['imagen']); rfc = Basico.parseString(json['rfc']); razonSocial = Basico.parseString(json['razonSocial']); calle = Basico.parseString(json['calle']); numeroExterior = Basico.parseString(json['numeroExterior']); colonia = Basico.parseString(json['colonia']); codigoPostal = Basico.parseString(json['codigoPostal']); idCiudad = Basico.parseInt(json['idCiudad']); idEstado = Basico.parseInt(json['idEstado']); idSucursal = Basico.parseInt(json['idSucursal']); turno = Basico.parseString(json['turno']); } Usuario.fromApi(Map json) { super.parseJson(json); nombre = Basico.parseString(json['nombre']); apellidos = Basico.parseString(json['apellidos']); correo = Basico.parseString(json['correo']); celular = Basico.parseString(json['celular']); celularPersonal = Basico.parseString(json['celularPersonal']); rol = Basico.parseInt(json['rol']); genero = Basico.parseBolean(json['genero']); estatus = Basico.parseInt(json['estatus']); imagen = Basico.parseString(json['imagen']); rfc = Basico.parseString(json['rfc']); razonSocial = Basico.parseString(json['razonSocial']); calle = Basico.parseString(json['calle']); numeroExterior = Basico.parseString(json['numeroExterior']); colonia = Basico.parseString(json['colonia']); codigoPostal = Basico.parseString(json['codigoPostal']); idCiudad = Basico.parseInt(json['idCiudad']); idEstado = Basico.parseInt(json['idEstado']); idSucursal = Basico.parseInt(json['idSucursal']); turno = Basico.parseString(json['turno']); permisos = (json['permisos'] as List).map((e) => e.toString()).toList(); } Future guardar() async { idLocal = await RepoService().guardar(this); } }