marco.pms.mobileapp/lib/model/attendance_model.dart

52 lines
1.6 KiB
Dart

class AttendanceModel {
final String id;
final String name;
final String projectAddress;
final String contactPerson;
final DateTime startDate;
final DateTime endDate;
final int teamSize;
final double completedWork;
final double plannedWork;
AttendanceModel({
required this.id,
required this.name,
required this.projectAddress,
required this.contactPerson,
required this.startDate,
required this.endDate,
required this.teamSize,
required this.completedWork,
required this.plannedWork,
});
factory AttendanceModel.fromJson(Map<String, dynamic> json) {
return AttendanceModel(
id: json['id']?.toString() ?? '',
name: json['name'] ?? '',
projectAddress: json['projectAddress'] ?? '',
contactPerson: json['contactPerson'] ?? '',
startDate: DateTime.tryParse(json['startDate']?.toString() ?? '') ?? DateTime.now(),
endDate: DateTime.tryParse(json['endDate']?.toString() ?? '') ?? DateTime.now(),
teamSize: int.tryParse(json['teamSize']?.toString() ?? '') ?? 0,
completedWork: double.tryParse(json['completedWork']?.toString() ?? '') ?? 0,
plannedWork: double.tryParse(json['plannedWork']?.toString() ?? '') ?? 0,
);
}
Map<String, dynamic> toJson() {
return {
'id': id,
'name': name,
'projectAddress': projectAddress,
'contactPerson': contactPerson,
'startDate': startDate.toIso8601String(),
'endDate': endDate.toIso8601String(),
'teamSize': teamSize,
'completedWork': completedWork,
'plannedWork': plannedWork,
};
}
}