123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- import 'package:yoshi_papas_app/models/models.dart';
- import '../services/services.dart';
- import 'basico_model.dart';
- class Producto extends Basico {
- int? idCategoria;
- CategoriaProducto? categoria;
- String? nombre;
- String? descripcion;
- String? imagen;
- int? venta;
- int? existencia;
- double? precio;
- int? verMenu;
- String? codigo;
- String? descuento;
- int? toping;
- List<Producto>? topings;
- int? activo;
- List<Media>? media;
- Producto({
- super.id,
- this.idCategoria,
- this.nombre,
- this.descripcion,
- this.imagen,
- this.venta,
- this.existencia,
- this.precio,
- this.verMenu,
- this.codigo,
- this.descuento,
- this.toping,
- this.topings,
- this.activo,
- this.media,
- });
- @override
- Map<String, dynamic> toJson() {
- // print("Convirtiendo Producto a JSON");
- // print("ID: $id, Categoria: $idCategoria, Nombre: $nombre");
- // print("Descripcion: $descripcion, imagen: $imagen, venta: $venta");
- // print("existencia: $existencia, precio: $precio, verMenu: $verMenu");
- // print("codigo: $codigo, descuento: $descuento, creado: $creado");
- // print("eliminado: $eliminado, modificado: $modificado");
- Map<String, dynamic> data = {
- 'id': id,
- 'idCategoria': idCategoria ?? 0,
- 'nombre': nombre ?? '',
- 'descripcion': descripcion ?? '',
- 'imagen': imagen ?? '',
- 'venta': venta ?? 0,
- 'existencia': existencia ?? 0,
- 'precio': precio ?? 0.0,
- 'verMenu': verMenu ?? 0,
- 'codigo': codigo ?? '',
- 'descuento': descuento ?? '',
- 'toping': toping ?? 0,
- 'activo': activo ?? 0,
- 'creado': creado?.toIso8601String(),
- 'modificado': modificado?.toIso8601String(),
- 'eliminado': eliminado?.toIso8601String(),
- };
- return data..addAll(super.toJson());
- }
- Map<String, dynamic> toMap() {
- return {
- 'id': id,
- 'idCategoria': idCategoria,
- 'nombre': nombre,
- 'descripcion': descripcion,
- 'imagen': imagen,
- 'venta': venta,
- 'existencia': existencia,
- 'precio': precio,
- 'verMenu': verMenu,
- 'codigo': codigo,
- 'descuento': descuento,
- 'toping': toping,
- 'activo': activo,
- 'creado': creado != null ? creado!.toIso8601String() : null,
- 'modificado': modificado != null ? modificado!.toIso8601String() : null,
- 'eliminado': eliminado != null ? eliminado!.toIso8601String() : null,
- };
- }
- Producto.fromJson(Map<String, dynamic> json) {
- super.parseJson(json);
- idCategoria = Basico.parseInt(json['idCategoria']);
- // categoria = json["categoria"] != null
- // ? CategoriaProducto.fromJson(json["categoria"])
- // : null;
- nombre = Basico.parseString(json['nombre']);
- descripcion = Basico.parseString(json['descripcion']);
- imagen = Basico.parseString(json['imagen']);
- venta = Basico.parseInt(json['venta']);
- existencia = Basico.parseInt(json['existencia']);
- precio = Basico.parseDouble(json['precio']);
- verMenu = Basico.parseInt(json['verMenu']);
- codigo = Basico.parseString(json['codigo']);
- descuento = Basico.parseString(json['descuento']);
- activo = Basico.parseInt(json['activo']);
- if (json['toping'] is bool) {
- toping = json['toping'] ? 1 : 0;
- } else {
- toping = Basico.parseInt(json['toping']);
- }
- if (json['toppings'] != null) {
- topings = (json['toppings'] as List)
- .map((id) => Producto(id: id as int))
- .toList();
- }
- }
- Producto.fromApi(Map<String, dynamic> json) {
- super.parseJson(json);
- idCategoria = Basico.parseInt(json['idCategoria']);
- nombre = Basico.parseString(json['nombre']);
- descripcion = Basico.parseString(json['descripcion']);
- imagen = Basico.parseString(json['imagen']);
- venta = Basico.parseInt(json['venta']);
- existencia = Basico.parseInt(json['existencia']);
- precio = Basico.parseDouble(json['precio']);
- verMenu = Basico.parseInt(json['verEnMenu']);
- codigo = Basico.parseString(json['codigo']);
- descuento = Basico.parseString(json['descuento']);
- activo = Basico.parseInt(json['activo']);
- creado = Basico.parseDate(json['creado']);
- modificado = Basico.parseDate(json['modificado']);
- eliminado = Basico.parseDate(json['eliminado']);
- if (json['media'] != null) {
- media = (json['media'] as List).map((i) => Media.fromJson(i)).toList();
- }
- }
- Future<void> guardar() async {
- idLocal = await RepoService().guardar(this);
- }
- }
|