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

144 lines
2.8 KiB
Dart

// enum APPSTATUS {
// loading,
// unAuthenticated,
// authenticated,
// unverified,
// }
enum AuthMethodTypesEnum {
sms,
whatsApp,
fingerPrint,
faceID,
moreOptions,
}
enum ViewStateEnum {
hide,
idle,
busy,
error,
busyLocal,
errorLocal,
}
enum CountryEnum { saudiArabia, unitedArabEmirates }
enum CalenderEnum { gregorian, hijri }
enum SelectionTypeEnum { dropdown, calendar }
enum GenderTypeEnum { male, female }
enum MaritalStatusTypeEnum { single, married, divorced, widowed }
enum ChipTypeEnum { success, error, alert, info, warning }
enum OTPTypeEnum { sms, whatsapp }
enum LoginTypeEnum { sms, whatsapp, face, fingerprint }
enum AppEnvironmentTypeEnum { dev, uat, preProd, qa, staging, prod }
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;
}
}
}
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 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;
}
}
/// 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");
}
}
}