class Servicio { final int? id; final String nombre; final String icono; final int color; final int diaVencimiento; final String fechaCreacion; final bool esRecurrente; Servicio({ this.id, required this.nombre, required this.icono, required this.color, required this.diaVencimiento, required this.fechaCreacion, this.esRecurrente = false, }); Servicio copyWith({ int? id, String? nombre, String? icono, int? color, int? diaVencimiento, String? fechaCreacion, bool? esRecurrente, }) => Servicio( id: id ?? this.id, nombre: nombre ?? this.nombre, icono: icono ?? this.icono, color: color ?? this.color, diaVencimiento: diaVencimiento ?? this.diaVencimiento, fechaCreacion: fechaCreacion ?? this.fechaCreacion, esRecurrente: esRecurrente ?? this.esRecurrente, ); Map toMap() => { 'id': id, 'nombre': nombre, 'icono': icono, 'color': color, 'dia_vencimiento': diaVencimiento, 'fecha_creacion': fechaCreacion, 'es_recurrente': esRecurrente ? 1 : 0, }; factory Servicio.fromMap(Map map) => Servicio( id: map['id'] as int?, nombre: map['nombre'] as String, icono: map['icono'] as String, color: map['color'] as int, diaVencimiento: map['dia_vencimiento'] as int, fechaCreacion: map['fecha_creacion'] as String, esRecurrente: (map['es_recurrente'] as int? ?? 0) == 1, ); }