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_QLine/lib/models/global_config_model.dart

302 lines
15 KiB
Dart

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import 'dart:ui';
import 'package:hmg_qline/constants/app_constants.dart';
import 'package:hmg_qline/models/kiosk_language_config_model.dart';
import 'package:hmg_qline/models/kiosk_queue_model.dart';
import 'package:hmg_qline/utilities/enums.dart';
import 'package:hmg_qline/utilities/extensions.dart';
class GlobalConfigurationsModel {
int? id;
int? configType;
String? description;
int? counterStart;
int? counterEnd;
int concurrentCallDelaySec = 1;
int? voiceType;
String? voiceTypeText;
LanguageEnum screenLanguageEnum = LanguageEnum.english;
String? screenLanguageText;
TextDirection textDirection = TextDirection.ltr;
LanguageEnum voiceLanguageEnum = LanguageEnum.english;
String? voiceLanguageText;
int screenMaxDisplayPatients = 16;
bool? isNotiReq;
int? prioritySMS;
int? priorityWhatsApp;
int? priorityEmail;
String ticketNoText = "Ticket Number";
String postVoiceText = "Please Visit Counter";
int? roomNo;
bool? isRoomNoRequired;
String? roomTextEng;
String? counterTextEng;
String? queueNoTextEng;
String? callForTextEng;
String? roomTextArb;
String? counterTextArb;
String? queueNoTextArb;
String? callForTextArb;
String? currentServeTextEng;
String? currentServeTextArb;
String maxText = "";
String minText = "";
String nextPrayerTextEng = "Next Prayer";
String nextPrayerTextArb = "الصلا<EFBFBD><EFBFBD> القادمة";
String weatherText = "Weather";
String? fajarTextEng;
String? dhuhrTextEng;
String? asarTextEng;
String? maghribTextEng;
String? ishaTextEng;
String? fajarTextArb;
String? dhuhrTextArb;
String? asarTextArb;
String? maghribTextArb;
String? ishaTextArb;
bool? isActive;
int? createdBy;
String? createdOn;
dynamic editedBy;
dynamic editedOn;
bool isToneReq = false;
bool isVoiceReq = false;
ScreenOrientationEnum orientationTypeEnum = ScreenOrientationEnum.portraitUp;
bool? isTurnOn;
int? waitingAreaType;
int? gender;
bool isWeatherReq = false;
bool isPrayerTimeReq = false;
bool isRssFeedReq = false;
QTypeEnum qTypeEnum = QTypeEnum.appointment;
ScreenTypeEnum screenTypeEnum = ScreenTypeEnum.waitingAreaScreen;
int? projectID;
double? projectLatitude;
double? projectLongitude;
int? cityKey;
List<KioskQueueModel>? kioskQueueList;
List<KioskLanguageConfigModel>? kioskLanguageConfigList;
String vitalSignTextEng = "Vital Sign";
String doctorTextEng = "Doctor";
String procedureTextEng = "Procedure";
String vaccinationTextEng = "Vaccination";
String nebulizationTextEng = "Nebulization";
String callForVitalSignTextEng = "Call for Vital Sign";
String callForDoctorTextEng = "Call for Doctor";
String callForProcedureTextEng = "Call for Procedure";
String callForVaccinationTextEng = "Call for Vaccination";
String callForNebulizationTextEng = "Call for Nebulization";
String vitalSignTextArb = "العلامات الحيوية";
String doctorTextArb = "الطبيب";
String procedureTextArb = "الإجراء";
String vaccinationTextArb = "التطعيم";
String nebulizationTextArb = "البخاخة";
String callForVitalSignTextArb = "الرجاء التوجّه إلى غرفة العلامات الحيوية";
String callForDoctorTextArb = "الرجاء التوجّه إلى غرفة الطبيب";
String callForProcedureTextArb = "الرجاء التوجّه إلى غرفة الإجراء";
String callForVaccinationTextArb = "الرجاء التوجّه إلى غرفة التطعيم";
String callForNebulizationTextArb = "الرجاء التوجّه إلى غرفة البخاخة";
GlobalConfigurationsModel({
this.id,
this.configType,
this.description,
this.counterStart,
this.counterEnd,
this.concurrentCallDelaySec = 1,
this.voiceType,
this.voiceTypeText,
this.screenLanguageEnum = LanguageEnum.english,
this.screenLanguageText,
this.textDirection = TextDirection.ltr,
this.voiceLanguageEnum = LanguageEnum.english,
this.voiceLanguageText,
this.screenMaxDisplayPatients = 16,
this.isNotiReq,
this.prioritySMS,
this.priorityWhatsApp,
this.priorityEmail,
this.ticketNoText = "Ticket Number",
this.postVoiceText = "Please Visit Counter",
this.roomTextEng,
this.roomNo,
this.isRoomNoRequired = true,
this.counterTextEng,
this.queueNoTextEng,
this.callForTextEng,
this.counterTextArb,
this.queueNoTextArb,
this.callForTextArb,
this.currentServeTextEng,
this.currentServeTextArb,
this.maxText = "",
this.minText = "",
this.nextPrayerTextEng = "Next Prayer",
this.nextPrayerTextArb = "الصلاة القادمة",
this.weatherText = "Weather",
this.fajarTextEng,
this.dhuhrTextEng,
this.asarTextEng,
this.maghribTextEng,
this.ishaTextEng,
this.fajarTextArb,
this.dhuhrTextArb,
this.asarTextArb,
this.maghribTextArb,
this.ishaTextArb,
this.isActive,
this.createdBy,
this.createdOn,
this.editedBy,
this.editedOn,
this.isToneReq = false,
this.isVoiceReq = false,
this.orientationTypeEnum = ScreenOrientationEnum.portraitUp,
this.isTurnOn,
this.waitingAreaType,
this.gender,
this.isWeatherReq = false,
this.isPrayerTimeReq = false,
this.isRssFeedReq = false,
this.qTypeEnum = QTypeEnum.appointment,
this.screenTypeEnum = ScreenTypeEnum.waitingAreaScreen,
this.projectID,
this.projectLatitude,
this.projectLongitude,
this.cityKey,
this.kioskQueueList,
this.kioskLanguageConfigList,
this.vitalSignTextEng = "Vital Sign",
this.doctorTextEng = "Doctor",
this.procedureTextEng = "Procedure",
this.vaccinationTextEng = "Vaccination",
this.nebulizationTextEng = "Nebulization",
this.callForVitalSignTextEng = "Call for Vital Sign",
this.callForDoctorTextEng = "Call for Doctor",
this.callForProcedureTextEng = "Call for Procedure",
this.callForVaccinationTextEng = "Call for Vaccination",
this.callForNebulizationTextEng = "Call for Nebulization",
this.vitalSignTextArb = "العلامات الحيوية",
this.doctorTextArb = "الطبيب",
this.procedureTextArb = "الإجراء",
this.vaccinationTextArb = "التطعيم",
this.nebulizationTextArb = "البخاخة",
this.callForVitalSignTextArb = "استدعاء للعلامات الحيوية",
this.callForDoctorTextArb = "الرجاء التوجّه إلى غرفة الطبيب",
this.callForProcedureTextArb = "الرجاء التوجّه إلى غرفة الإجراء",
this.callForVaccinationTextArb = "الرجاء التوجّه إلى غرفة التطعيم",
this.callForNebulizationTextArb = "الرجاء التوجّه إلى غرفة البخاخة",
});
GlobalConfigurationsModel.fromJson({required Map<String, dynamic> json, int qType = 1, int screenType = 1}) {
id = json['id'];
configType = json['configType'];
description = json['description'];
counterStart = json['counterStart'];
counterEnd = json['counterEnd'];
concurrentCallDelaySec = json['concurrentCallDelaySec'] ?? 1;
voiceType = json['voiceType'];
voiceTypeText = json['voiceTypeText'];
screenLanguageEnum = (json['screenLanguage'] as int).toLanguageEnum();
screenLanguageText = json['screenLanguageText'];
textDirection = json['textDirection'] == 2 ? TextDirection.rtl : TextDirection.ltr;
// textDirection = TextDirection.rtl;
// screenMaxDisplayPatients = json['screenMaxDisplayPatients'] ?? 16;
// TODO: Uncomment this screenMaxDisplayPatients
screenMaxDisplayPatients = 16;
voiceLanguageEnum = (json['voiceLanguage'] as int).toLanguageEnum();
voiceLanguageText = json['voiceLanguageText'];
isNotiReq = json['isNotiReq'];
prioritySMS = json['prioritySMS'];
priorityWhatsApp = json['priorityWhatsApp'];
priorityEmail = json['priorityEmail'];
ticketNoText = json['ticketNoText'] ?? "Ticket Number";
postVoiceText = json['pleaseVisitCounterText'] ?? "Please Visit Counter";
roomNo = json['roomNo'];
isRoomNoRequired = json['isRoomNoReq'] ?? true;
queueNoTextEng = json['queueNoText'];
callForTextEng = json['callForText'];
counterTextEng = json['counterText'];
roomTextEng = json['roomText'];
queueNoTextArb = json['queueNoTextAr'] ?? "الرقم";
callForTextArb = json['callForTextAr'] ?? "التوجه إلى";
counterTextArb = json['counterTextAr'] ?? "";
roomTextArb = json['roomTextAr'] ?? "الغرفة";
currentServeTextEng = json['currentServeText'];
currentServeTextArb = json['currentServeTextAr'] ?? "يتم خدمة";
maxText = json['maxText'] ?? "";
minText = json['minText'] ?? "";
nextPrayerTextEng = json['nextPrayerText'] ?? "Next Prayer";
nextPrayerTextArb = json['nextPrayerTextArb'] ?? "الصلاة القادمة";
weatherText = json['weatherText'] ?? "Weather";
fajarTextEng = json['fajarText'];
dhuhrTextEng = json['dhuhrText'];
asarTextEng = json['asarText'];
maghribTextEng = json['maghribText'];
ishaTextEng = json['ishaText'];
fajarTextArb = json['fajarTextAr'] ?? AppStrings.prayersArray[0];
dhuhrTextArb = json['dhuhrTextAr'] ?? AppStrings.prayersArray[1];
asarTextArb = json['asarTextAr'] ?? AppStrings.prayersArray[2];
maghribTextArb = json['maghribTextAr'] ?? AppStrings.prayersArray[3];
ishaTextArb = json['ishaTextAr'] ?? AppStrings.prayersArray[4];
isActive = json['isActive'];
createdBy = json['createdBy'];
createdOn = json['createdOn'];
editedBy = json['editedBy'];
editedOn = json['editedOn'];
isToneReq = json['isToneReq'] ?? false;
isVoiceReq = json['isVoiceReq'] ?? false;
orientationTypeEnum = ((json['orientationType'] ?? 1) as int).toScreenOrientationEnum();
isTurnOn = json['isTurnOn'];
waitingAreaType = json['waitingAreaType'];
gender = json['gender'];
isWeatherReq = json['isWeatherReq'] ?? false;
isPrayerTimeReq = json['isPrayerTimeReq'] ?? false;
isRssFeedReq = json['isRssFeedReq'] ?? false;
qTypeEnum = ((json['qType'] ?? qType) as int).toQTypeEnum();
screenTypeEnum = ((json['screenType'] ?? screenType) as int).toScreenTypeEnum();
projectID = json['projectID'];
projectLatitude = json['projectLatitude'] == 0 ? 0.0 : json['projectLatitude'];
projectLongitude = json['projectLongitude'] == 0 ? 0.0 : json['projectLongitude'];
cityKey = json['cityKey'] ?? 0;
if (json['kioskQueue'] != null) {
kioskQueueList = List<KioskQueueModel>.from(json['kioskQueue'].map((kioskQueueJson) => KioskQueueModel.fromJson(kioskQueueJson)));
} else {
kioskQueueList = [];
}
if (json['kioskConfig'] != null) {
kioskLanguageConfigList = List<KioskLanguageConfigModel>.from(json['kioskConfig'].map((kioskQueueJson) => KioskLanguageConfigModel.fromJson(kioskQueueJson)));
} else {
kioskLanguageConfigList = [];
}
vitalSignTextEng = json['vitalSignText'];
doctorTextEng = json['doctorText'];
procedureTextEng = json['procedureText'];
vaccinationTextEng = json['vaccinationText'];
nebulizationTextEng = json['nebulizationText'];
callForVitalSignTextEng = json['callForVitalSignText'];
callForDoctorTextEng = json['callForDoctorText'];
callForProcedureTextEng = json['callForProcedureText'];
callForVaccinationTextEng = json['callForVaccinationText'];
callForNebulizationTextEng = json['callForNebulizationText'];
vitalSignTextArb = json['vitalSignTextAr'] ?? "غرفة العلامات الحيوية";
doctorTextArb = json['doctorTextAr'] ?? " غرفة الطبيب";
procedureTextArb = json['procedureTextAr'] ?? "غرفة الإجراء";
vaccinationTextArb = json['vaccinationTextAr'] ?? "غرفة التطعيم";
nebulizationTextArb = json['nebulizationTextAr'] ?? "غرفة البخاخة";
callForVitalSignTextArb = json['callForVitalSignTextAr'] ?? " غرفة استدعاء للعلامات الحيوية";
callForDoctorTextArb = json['callForDoctorTextAr'] ?? "الرجاء التوّه إلى غرفة الطبيب";
callForProcedureTextArb = json['callForProcedureTextAr'] ?? "الرجاء التوجّه إلى غرفة الإجراء";
callForVaccinationTextArb = json['callForVaccinationTextAr'] ?? "الرجاء لتوجّه إلى غرفة التطعيم";
callForNebulizationTextArb = json['callForNebulizationTextAr'] ?? "الرجاء التوجّه إلى غرفة البخاخة";
}
@override
String toString() {
return 'GlobalConfigurationsModel{id: $id, configType: $configType, description: $description, counterStart: $counterStart, counterEnd: $counterEnd, concurrentCallDelaySec: $concurrentCallDelaySec, voiceType: $voiceType, voiceTypeText: $voiceTypeText, screenLanguageEnum: $screenLanguageEnum, screenLanguageText: $screenLanguageText, textDirection: $textDirection, voiceLanguageEnum: $voiceLanguageEnum, voiceLanguageText: $voiceLanguageText, screenMaxDisplayPatients: $screenMaxDisplayPatients, isNotiReq: $isNotiReq, prioritySMS: $prioritySMS, priorityWhatsApp: $priorityWhatsApp, priorityEmail: $priorityEmail, ticketNoText: $ticketNoText, postVoiceText: $postVoiceText, roomText: $roomTextEng, roomNo: $roomNo, isRoomNoRequired: $isRoomNoRequired, counterText: $counterTextEng, queueNoText: $queueNoTextEng, callForText: $callForTextEng, currentServeTextArb: $currentServeTextArb,, currentServeTextEng: $currentServeTextEng, maxText: $maxText, minText: $minText, nextPrayerTextEng: $nextPrayerTextEng, nextPrayerTextArb: $nextPrayerTextArb, weatherText: $weatherText, fajarText: $fajarTextEng, dhuhrText: $dhuhrTextEng, asarText: $asarTextEng, maghribText: $maghribTextEng, ishaText: $ishaTextEng, isActive: $isActive, createdBy: $createdBy, createdOn: $createdOn, editedBy: $editedBy, editedOn: $editedOn, isToneReq: $isToneReq, isVoiceReq: $isVoiceReq, orientationTypeEnum: $orientationTypeEnum, isTurnOn: $isTurnOn, waitingAreaType: $waitingAreaType, gender: $gender, isWeatherReq: $isWeatherReq, isPrayerTimeReq: $isPrayerTimeReq, isRssFeedReq: $isRssFeedReq, qTypeEnum: $qTypeEnum, screenTypeEnum: $screenTypeEnum, projectID: $projectID, projectLatitude: $projectLatitude, projectLongitude: $projectLongitude, cityKey: $cityKey, kioskQueueList: $kioskQueueList, kioskLanguageConfigList: $kioskLanguageConfigList, vitalSignText: $vitalSignTextEng, doctorText: $doctorTextEng, procedureText: $procedureTextEng, vaccinationText: $vaccinationTextEng, nebulizationText: $nebulizationTextEng, callForVitalSignText: $callForVitalSignTextEng, callForDoctorText: $callForDoctorTextEng, callForProcedureText: $callForProcedureTextEng, callForVaccinationText: $callForVaccinationTextEng, callForNebulizationText: $callForNebulizationTextEng, vitalSignTextArb: $vitalSignTextArb, doctorTextArb: $doctorTextArb, procedureTextArb: $procedureTextArb, vaccinationTextArb: $vaccinationTextArb, nebulizationTextArb: $nebulizationTextArb, callForVitalSignTextArb: $callForVitalSignTextArb, callForDoctorTextArb: $callForDoctorTextArb, callForProcedureTextArb: $callForProcedureTextArb, callForVaccinationTextArb: $callForVaccinationTextArb, callForNebulizationTextArb: $callForNebulizationTextArb}';
}
}