67 lines
1.5 KiB
Dart
67 lines
1.5 KiB
Dart
enum AttendanceStatusEnum {
|
|
valid,
|
|
invalid,
|
|
sick,
|
|
permission,
|
|
dispensation,
|
|
alpha,
|
|
none; // added a none status (jika belum ada status / data kosong)
|
|
|
|
static AttendanceStatusEnum fromString(String value) {
|
|
switch (value.toLowerCase()) {
|
|
case 'valid':
|
|
case 'present':
|
|
case 'hadir':
|
|
return AttendanceStatusEnum.valid;
|
|
|
|
case 'none':
|
|
case 'null':
|
|
return AttendanceStatusEnum.none;
|
|
|
|
case 'invalid':
|
|
return AttendanceStatusEnum.invalid;
|
|
|
|
case 'sick':
|
|
case 'sakit':
|
|
return AttendanceStatusEnum.sick;
|
|
|
|
case 'permission':
|
|
case 'excused':
|
|
case 'izin':
|
|
return AttendanceStatusEnum.permission;
|
|
|
|
case 'dispensation':
|
|
case 'dispensasi':
|
|
case 'dispen':
|
|
return AttendanceStatusEnum.dispensation;
|
|
|
|
case 'alpha':
|
|
return AttendanceStatusEnum.alpha;
|
|
|
|
default:
|
|
return AttendanceStatusEnum.none; // fallback aman
|
|
}
|
|
}
|
|
|
|
}
|
|
extension AttendanceStatusEnumX on AttendanceStatusEnum {
|
|
String get title {
|
|
switch (this) {
|
|
case AttendanceStatusEnum.valid:
|
|
return 'Hadir';
|
|
case AttendanceStatusEnum.invalid:
|
|
return 'Tidak Valid';
|
|
case AttendanceStatusEnum.sick:
|
|
return 'Sakit';
|
|
case AttendanceStatusEnum.permission:
|
|
return 'Izin';
|
|
case AttendanceStatusEnum.dispensation:
|
|
return 'Dispensasi';
|
|
case AttendanceStatusEnum.alpha:
|
|
return 'Alpha';
|
|
case AttendanceStatusEnum.none:
|
|
return 'Unknown';
|
|
}
|
|
}
|
|
}
|