You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HMG_Patient_App_New/lib/core/enums.dart

194 lines
4.1 KiB
Dart

2 months ago
// enum APPSTATUS {
// loading,
// unAuthenticated,
// authenticated,
// unverified,
// }
enum AuthMethodTypesEnum {
2 months ago
sms,
whatsApp,
fingerPrint,
faceID,
moreOptions,
}
enum ViewStateEnum {
2 months ago
hide,
idle,
busy,
error,
busyLocal,
errorLocal,
}
enum CountryEnum { saudiArabia, unitedArabEmirates }
2 months ago
2 months ago
enum CalenderEnum { gregorian, hijri }
enum SelectionTypeEnum { dropdown, calendar, search }
2 months ago
enum GenderTypeEnum { male, female }
2 months ago
enum MaritalStatusTypeEnum { single, married, divorced, widowed }
2 months ago
enum ChipTypeEnum { success, error, alert, info, warning }
enum OTPTypeEnum { sms, whatsapp, faceIDFingerprint }
2 months ago
enum LoginTypeEnum { sms, whatsapp, face, fingerprint }
enum AppEnvironmentTypeEnum { dev, uat, preProd, qa, staging, prod }
2 months ago
extension CalenderExtension on CalenderEnum {
int get toInt {
switch (this) {
case CalenderEnum.hijri:
return 1;
case CalenderEnum.gregorian:
return 0;
}
}
String get displayName {
switch (this) {
case CalenderEnum.hijri:
return 'Hijri';
case CalenderEnum.gregorian:
return 'Gregorian';
}
}
static LoginTypeEnum? fromValue(int value) {
switch (value) {
case 1:
return LoginTypeEnum.sms;
case 2:
return LoginTypeEnum.fingerprint;
case 3:
return LoginTypeEnum.face;
case 4:
return LoginTypeEnum.whatsapp;
default:
return null;
}
}
}
2 months ago
extension LoginTypeExtension on LoginTypeEnum {
int get toInt {
switch (this) {
case LoginTypeEnum.sms:
return 1;
case LoginTypeEnum.whatsapp:
return 4;
case LoginTypeEnum.face:
return 3;
case LoginTypeEnum.fingerprint:
return 2;
}
}
String get displayName {
switch (this) {
case LoginTypeEnum.sms:
return 'SMS';
case LoginTypeEnum.whatsapp:
return 'WhatsApp';
case LoginTypeEnum.face:
return 'Face Recognition';
case LoginTypeEnum.fingerprint:
return 'Fingerprint';
}
}
static LoginTypeEnum? fromValue(int value) {
switch (value) {
case 0:
return LoginTypeEnum.sms;
2 months ago
case 1:
return LoginTypeEnum.sms;
case 2:
return LoginTypeEnum.fingerprint;
case 3:
return LoginTypeEnum.face;
case 4:
return LoginTypeEnum.whatsapp;
default:
return null;
}
}
}
extension OTPTypeEnumExtension on OTPTypeEnum {
/// Convert enum to int
int toInt() {
switch (this) {
case OTPTypeEnum.sms:
return 1;
case OTPTypeEnum.whatsapp:
return 2;
case OTPTypeEnum.faceIDFingerprint:
return 0;
}
}
/// Convert int to enum
static OTPTypeEnum fromInt(int value) {
switch (value) {
case 1:
return OTPTypeEnum.sms;
case 2:
return OTPTypeEnum.whatsapp;
default:
throw Exception("Invalid OTPTypeEnum value: $value");
}
}
}
enum ServiceTypeEnum {
advancePayment, //3
ancillaryOrder, //3
appointmentPayment, //2
covidPayment, //2
erOnlineCheckIn, //3
liveCareAppointment //4
}
extension ServiceTypeEnumExt on ServiceTypeEnum {
String value() {
switch (this) {
case ServiceTypeEnum.advancePayment:
return "Advance Payment";
case ServiceTypeEnum.ancillaryOrder:
return "Ancillary Order";
case ServiceTypeEnum.appointmentPayment:
return "Appointment Payment";
case ServiceTypeEnum.covidPayment:
return "Covid Payment";
case ServiceTypeEnum.erOnlineCheckIn:
return "ER Online Check In";
case ServiceTypeEnum.liveCareAppointment:
return "LiveCare Appointment";
}
}
int getIdFromServiceEnum() {
switch (this) {
case ServiceTypeEnum.advancePayment:
return 3;
case ServiceTypeEnum.ancillaryOrder:
return 3;
case ServiceTypeEnum.appointmentPayment:
return 2;
case ServiceTypeEnum.covidPayment:
return 2;
case ServiceTypeEnum.erOnlineCheckIn:
return 3;
case ServiceTypeEnum.liveCareAppointment:
return 4;
}
}
}