43 lines
951 B
Dart
43 lines
951 B
Dart
class Attendance {
|
|
final String id;
|
|
final String childId;
|
|
final DateTime date;
|
|
final String? status; // present | absent | late
|
|
final String? timeIn;
|
|
final String? timeOut;
|
|
final String? notes;
|
|
|
|
Attendance({
|
|
required this.id,
|
|
required this.childId,
|
|
required this.date,
|
|
this.status,
|
|
this.timeIn,
|
|
this.timeOut,
|
|
this.notes,
|
|
});
|
|
|
|
factory Attendance.fromMap(Map<String, dynamic> map) {
|
|
return Attendance(
|
|
id: map['id'] ?? '',
|
|
childId: map['child_id'] ?? '',
|
|
date: DateTime.tryParse(map['date'] ?? '') ?? DateTime.now(),
|
|
status: map['status'],
|
|
timeIn: map['time_in'],
|
|
timeOut: map['time_out'],
|
|
notes: map['notes'],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toMap() {
|
|
return {
|
|
'child_id': childId,
|
|
'date': date.toIso8601String().split('T')[0],
|
|
'status': status,
|
|
'time_in': timeIn,
|
|
'time_out': timeOut,
|
|
'notes': notes,
|
|
};
|
|
}
|
|
}
|