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.
147 lines
3.5 KiB
Dart
147 lines
3.5 KiB
Dart
import 'package:flutter/cupertino.dart';
|
|
import 'package:hmg_qline/utilities/enums.dart';
|
|
import 'package:intl/intl.dart';
|
|
|
|
extension ScreenOrientationEnumExt on int {
|
|
ScreenOrientationEnum toScreenOrientationEnum() {
|
|
if (this == 1) {
|
|
return ScreenOrientationEnum.portraitUp;
|
|
} else if (this == 2) {
|
|
return ScreenOrientationEnum.portraitDown;
|
|
} else if (this == 3) {
|
|
return ScreenOrientationEnum.landscapeRight;
|
|
} else if (this == 4) {
|
|
return ScreenOrientationEnum.landscapeLeft;
|
|
} else {
|
|
return ScreenOrientationEnum.portraitUp;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension DateFormatExt on int {
|
|
String toFormattedDateTimeFromInt() {
|
|
return DateFormat('hh:mm a').format(DateTime.fromMillisecondsSinceEpoch(this));
|
|
}
|
|
|
|
DateTime toDateTimeFromInt() {
|
|
return DateTime.fromMillisecondsSinceEpoch(this);
|
|
}
|
|
}
|
|
|
|
extension NavigationExt on BuildContext {
|
|
navigateReplaceTo(String route) {
|
|
Navigator.pushReplacementNamed(this, route);
|
|
}
|
|
|
|
popView() => Navigator.of(this).pop();
|
|
}
|
|
|
|
extension ScreenOrientationExt on ScreenOrientationEnum {
|
|
int getTurnsByOrientation() {
|
|
switch (this) {
|
|
case ScreenOrientationEnum.portraitUp:
|
|
return 0;
|
|
case ScreenOrientationEnum.portraitDown:
|
|
return 2;
|
|
case ScreenOrientationEnum.landscapeRight:
|
|
return 1;
|
|
case ScreenOrientationEnum.landscapeLeft:
|
|
return 3;
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension QTypeEnumExtension on int {
|
|
QTypeEnum toQTypeEnum() {
|
|
switch (this) {
|
|
case 1:
|
|
return QTypeEnum.appointment;
|
|
case 2:
|
|
return QTypeEnum.lab;
|
|
case 3:
|
|
return QTypeEnum.rad;
|
|
case 4:
|
|
return QTypeEnum.general;
|
|
case 5:
|
|
return QTypeEnum.pharmacy;
|
|
default:
|
|
return QTypeEnum.lab;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension QTypeExtension on QTypeEnum {
|
|
// Convert the QType enum to its corresponding integer ID
|
|
int getQTypeIDFromEnum() {
|
|
return index + 1; // enum index starts from 0, so we add 1 to match your values.
|
|
}
|
|
}
|
|
|
|
extension ScreenTypeExtension on int {
|
|
// Convert int to ScreenType enum
|
|
ScreenTypeEnum toScreenTypeEnum() {
|
|
switch (this) {
|
|
case 1:
|
|
return ScreenTypeEnum.waitingAreaScreen;
|
|
case 2:
|
|
return ScreenTypeEnum.roomLevelScreen;
|
|
case 3:
|
|
return ScreenTypeEnum.receptionScreen;
|
|
case 4:
|
|
return ScreenTypeEnum.dashboardScreen;
|
|
case 5:
|
|
return ScreenTypeEnum.kioskScreen;
|
|
default:
|
|
return ScreenTypeEnum.waitingAreaScreen;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension ScreenTypeIDExtension on ScreenTypeEnum {
|
|
// Convert the ScreenType enum to its corresponding integer ID
|
|
int getScreenTypeIDFromEnum() {
|
|
return index + 1; // enum index starts from 0, so we add 1 to match your values.
|
|
}
|
|
}
|
|
|
|
extension IntToLanguageEnum on int {
|
|
LanguageEnum toLanguageEnum() {
|
|
switch (this) {
|
|
case 1:
|
|
return LanguageEnum.english;
|
|
case 2:
|
|
return LanguageEnum.arabic;
|
|
default:
|
|
return LanguageEnum.english;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension LanguageEnumToInt on LanguageEnum {
|
|
int enumToInt() {
|
|
switch (this) {
|
|
case LanguageEnum.english:
|
|
return 1;
|
|
case LanguageEnum.arabic:
|
|
return 2;
|
|
default:
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
extension LanguageEnumToString on LanguageEnum {
|
|
String enumToString() {
|
|
switch (this) {
|
|
case LanguageEnum.english:
|
|
return "en";
|
|
case LanguageEnum.arabic:
|
|
return "ar";
|
|
default:
|
|
return "en";
|
|
}
|
|
}
|
|
}
|