fromJson method
Fills model data from a map (e.g., database).
Implementation
void fromJson(Map<String, dynamic> json) {
_rawData = Map<String, dynamic>.from(json); // Store raw data
id = json['id'] as int?;
for (final key in json.keys) {
var value = json[key];
// Apply casts
if (casts.containsKey(key)) {
final castType = casts[key];
if (castType == DateTime && value is String) {
value = DateTime.tryParse(value);
} else if (castType == int && value is String) {
value = int.tryParse(value);
} else if (castType == double && value is String) {
value = double.tryParse(value);
} else if (castType == bool && value is String) {
value = value.toLowerCase() == 'true';
}
}
setField(key, value);
}
}