58 lines
1.8 KiB
Dart
58 lines
1.8 KiB
Dart
class DoctorInfoModel {
|
|||
|
|
final int? id;
|
||
|
|
final String nombreDoctor;
|
||
|
|
final String especialidad;
|
||
|
|
final String descripEspecialidad;
|
||
|
|
final String descripGeneral;
|
||
|
|
|
||
|
|
const DoctorInfoModel({
|
||
|
|
this.id,
|
||
|
|
required this.nombreDoctor,
|
||
|
|
required this.especialidad,
|
||
|
|
required this.descripEspecialidad,
|
||
|
|
required this.descripGeneral,
|
||
|
|
});
|
||
|
|
|
||
|
|
factory DoctorInfoModel.fromJson(Map<String, dynamic> json) {
|
||
|
|
final doctor = (json['nombre_doctor']?.toString() ?? 'Dr. Luis A. Castro Sosa').trim();
|
||
|
|
final esp = (json['especialidad']?.toString() ?? 'Cirujano Urólogo').trim();
|
||
|
|
|
||
|
|
return DoctorInfoModel(
|
||
|
|
id: json['id'] is int ? json['id'] as int : int.tryParse(json['id']?.toString() ?? ''),
|
||
|
|
nombreDoctor: doctor.isEmpty ? 'Dr. Luis A. Castro Sosa' : doctor,
|
||
|
|
especialidad: esp.isEmpty ? 'Cirujano Urólogo' : esp,
|
||
|
|
descripEspecialidad: json['descrip_especialidad']?.toString() ?? '',
|
||
|
|
descripGeneral: json['descrip_general']?.toString() ?? '',
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
Map<String, dynamic> toJson({bool includeId = false}) {
|
||
|
|
final map = <String, dynamic>{
|
||
|
|
'nombre_doctor': nombreDoctor,
|
||
|
|
'especialidad': especialidad,
|
||
|
|
'descrip_especialidad': descripEspecialidad,
|
||
|
|
'descrip_general': descripGeneral,
|
||
|
|
};
|
||
|
|
if (includeId && id != null) {
|
||
|
|
map['id'] = id;
|
||
|
|
}
|
||
|
|
return map;
|
||
|
|
}
|
||
|
|
|
||
|
|
DoctorInfoModel copyWith({
|
||
|
|
int? id,
|
||
|
|
String? nombreDoctor,
|
||
|
|
String? especialidad,
|
||
|
|
String? descripEspecialidad,
|
||
|
|
String? descripGeneral,
|
||
|
|
}) {
|
||
|
|
return DoctorInfoModel(
|
||
|
|
id: id ?? this.id,
|
||
|
|
nombreDoctor: nombreDoctor ?? this.nombreDoctor,
|
||
|
|
especialidad: especialidad ?? this.especialidad,
|
||
|
|
descripEspecialidad: descripEspecialidad ?? this.descripEspecialidad,
|
||
|
|
descripGeneral: descripGeneral ?? this.descripGeneral,
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|