import '/models/models.dart';
import 'basico_model.dart';

class Toping extends Basico {
  int? idCategoria;
  String? clave;
  String? nombre;
  String? descripcion;
  String? costo;
  bool? activo = false;
  String? imagenPrincipal;
  List<MediaToping> mediaToping = [];

  Toping({
    super.id,
    this.idCategoria,
    this.clave,
    this.nombre,
    this.descripcion,
    this.costo,
    this.activo,
    this.imagenPrincipal,
  });

  @override
  Map<String, dynamic> toJson() {
    return {
      'id': id,
      'idCategoria': idCategoria,
      'clave': clave,
      'nombre': nombre,
      'descripcion': descripcion,
      'costo': costo,
      'activo': activo,
      'imagenPrincipal': imagenPrincipal,
    }..addAll(super.toJson());
  }

  Toping.fromJson(Map<String, dynamic> json) {
    super.parseJson(json);
    idCategoria = Basico.parseInt(json['idCategoria']);
    clave = Basico.parseString(json['clave']);
    nombre = Basico.parseString(json['nombre']);
    descripcion = Basico.parseString(json['descripcion']);
    costo = Basico.parseString(json['costo']);
    activo = Basico.parseBolean(json['activo']);
    imagenPrincipal = Basico.parseString(json['imagenPrincipal']);
    if (json['mediaToping'] != null) {
      var mediaTCList = json['mediaToping'] as List;
      mediaToping = mediaTCList
          .map((i) => MediaToping.fromJson(i as Map<String, dynamic>))
          .toList();
    }
  }
}
