usuario_model.dart 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. import '../models/models.dart';
  2. import '../services/database_service.dart';
  3. import 'basico_model.dart';
  4. class Usuario extends Basico {
  5. String? nombre;
  6. String? apellidos;
  7. String? correo;
  8. String? celular;
  9. String? celularPersonal;
  10. int? rol;
  11. bool? genero;
  12. int? estatus;
  13. String? imagen;
  14. String? rfc;
  15. String? razonSocial;
  16. String? calle;
  17. String? numeroExterior;
  18. String? colonia;
  19. String? codigoPostal;
  20. int? idCiudad;
  21. int? idEstado;
  22. int? idSucursal;
  23. String? turno;
  24. String? clave;
  25. String? token;
  26. List<String>? permisos;
  27. static const VER_CATEGORIAS = 'VER_CATEGORIAS';
  28. static const VER_DESC_APP = 'VER_DESC_APP';
  29. static const VER_SUCURSALES = 'VER_SUCURSALES';
  30. static const VER_ADMIN = 'VER_ADMIN';
  31. static const CANCELAR_PEDIDO = 'CANCELAR_PEDIDO';
  32. static const VER_REPORTE = 'VER_REPORTE';
  33. static const FORZAR_SINCRONIZACION = 'FORZAR_SINCRONIZACION';
  34. Usuario({
  35. super.id,
  36. this.nombre,
  37. this.apellidos,
  38. this.correo,
  39. this.celular,
  40. this.celularPersonal,
  41. this.rol,
  42. this.genero,
  43. this.estatus,
  44. this.imagen,
  45. this.rfc,
  46. this.razonSocial,
  47. this.calle,
  48. this.numeroExterior,
  49. this.colonia,
  50. this.codigoPostal,
  51. this.idCiudad,
  52. this.idEstado,
  53. this.idSucursal,
  54. this.turno,
  55. this.clave,
  56. this.token,
  57. this.permisos,
  58. });
  59. @override
  60. Map<String, dynamic> toJson() {
  61. return {
  62. 'id': id,
  63. 'nombre': nombre,
  64. 'apellidos': apellidos,
  65. 'correo': correo,
  66. 'celular': celular,
  67. 'celularPersonal': celularPersonal,
  68. 'rol': rol,
  69. 'genero': genero != null ? (genero! ? 1 : 0) : null,
  70. 'estatus': estatus,
  71. 'imagen': imagen,
  72. 'rfc': rfc,
  73. 'razonSocial': razonSocial,
  74. 'calle': calle,
  75. 'numeroExterior': numeroExterior,
  76. 'colonia': colonia,
  77. 'codigoPostal': codigoPostal,
  78. 'idCiudad': idCiudad,
  79. 'idEstado': idEstado,
  80. 'idSucursal': idSucursal,
  81. 'turno': turno,
  82. 'clave': clave,
  83. 'token': token,
  84. 'creado': creado?.toIso8601String(),
  85. 'modificado': modificado?.toIso8601String(),
  86. 'eliminado': eliminado?.toIso8601String(),
  87. }..addAll(super.toJson());
  88. }
  89. Map<String, dynamic> toMap() {
  90. return {
  91. 'id': id,
  92. 'nombre': nombre,
  93. 'apellidos': apellidos,
  94. 'correo': correo,
  95. 'celular': celular,
  96. 'celularPersonal': celularPersonal,
  97. 'rol': rol,
  98. 'genero': genero,
  99. 'estatus': estatus,
  100. 'imagen': imagen,
  101. 'rfc': rfc,
  102. 'razonSocial': razonSocial,
  103. 'calle': calle,
  104. 'numeroExterior': numeroExterior,
  105. 'colonia': colonia,
  106. 'codigoPostal': codigoPostal,
  107. 'idCiudad': idCiudad,
  108. 'idEstado': idEstado,
  109. 'idSucursal': idSucursal,
  110. 'turno': turno,
  111. 'clave': clave,
  112. 'token': token,
  113. 'creado': creado != null ? creado!.toIso8601String() : null,
  114. 'modificado': modificado != null ? modificado!.toIso8601String() : null,
  115. 'eliminado': eliminado != null ? eliminado!.toIso8601String() : null,
  116. };
  117. }
  118. Usuario.fromJson(Map<String, dynamic> json) {
  119. super.parseJson(json);
  120. nombre = Basico.parseString(json['nombre']);
  121. apellidos = Basico.parseString(json['apellidos']);
  122. correo = Basico.parseString(json['correo']);
  123. celular = Basico.parseString(json['celular']);
  124. celularPersonal = Basico.parseString(json['celularPersonal']);
  125. rol = Basico.parseInt(json['rol']);
  126. genero = Basico.parseBolean(json['genero']);
  127. estatus = Basico.parseInt(json['estatus']);
  128. imagen = Basico.parseString(json['imagen']);
  129. rfc = Basico.parseString(json['rfc']);
  130. razonSocial = Basico.parseString(json['razonSocial']);
  131. calle = Basico.parseString(json['calle']);
  132. numeroExterior = Basico.parseString(json['numeroExterior']);
  133. colonia = Basico.parseString(json['colonia']);
  134. codigoPostal = Basico.parseString(json['codigoPostal']);
  135. idCiudad = Basico.parseInt(json['idCiudad']);
  136. idEstado = Basico.parseInt(json['idEstado']);
  137. idSucursal = Basico.parseInt(json['idSucursal']);
  138. turno = Basico.parseString(json['turno']);
  139. clave = Basico.parseString(json['clave']);
  140. token = Basico.parseString(json['token']);
  141. }
  142. Usuario.fromApi(Map<String, dynamic> json) {
  143. super.parseJson(json);
  144. nombre = Basico.parseString(json['nombre']);
  145. apellidos = Basico.parseString(json['apellidos']);
  146. correo = Basico.parseString(json['correo']);
  147. celular = Basico.parseString(json['celular']);
  148. celularPersonal = Basico.parseString(json['celularPersonal']);
  149. rol = Basico.parseInt(json['rol']);
  150. genero = Basico.parseBolean(json['genero']);
  151. estatus = Basico.parseInt(json['estatus']);
  152. imagen = Basico.parseString(json['imagen']);
  153. rfc = Basico.parseString(json['rfc']);
  154. razonSocial = Basico.parseString(json['razonSocial']);
  155. calle = Basico.parseString(json['calle']);
  156. numeroExterior = Basico.parseString(json['numeroExterior']);
  157. colonia = Basico.parseString(json['colonia']);
  158. codigoPostal = Basico.parseString(json['codigoPostal']);
  159. idCiudad = Basico.parseInt(json['idCiudad']);
  160. idEstado = Basico.parseInt(json['idEstado']);
  161. idSucursal = Basico.parseInt(json['idSucursal']);
  162. turno = Basico.parseString(json['turno']);
  163. clave = Basico.parseString(json['clave']);
  164. token = Basico.parseString(json['token']);
  165. permisos = (json['permisos'] as List).map((e) => e.toString()).toList();
  166. }
  167. Future<void> guardar() async {
  168. idLocal = await DatabaseService().guardar(this);
  169. }
  170. }