TIF_E41222181/lib/domain/enum/attendance_status_enum.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';
}
}
}