Merge branch 'master' into dev_aamir
# Conflicts: # lib/main.dart # lib/presentation/home/landing_page.dart # lib/theme/colors.dart # lib/widgets/buttons/custom_button.dartpull/8/head
commit
23a4035117
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@ -0,0 +1,34 @@
|
|||||||
|
class GenericApiModel<T> {
|
||||||
|
final int? messageStatus;
|
||||||
|
final String? errorMessage;
|
||||||
|
final int? statusCode;
|
||||||
|
final T? data;
|
||||||
|
|
||||||
|
GenericApiModel({
|
||||||
|
this.messageStatus,
|
||||||
|
this.errorMessage,
|
||||||
|
this.statusCode,
|
||||||
|
this.data,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory GenericApiModel.fromJson(
|
||||||
|
Map<String, dynamic> json,
|
||||||
|
T Function(Object? json)? fromJsonT,
|
||||||
|
) {
|
||||||
|
return GenericApiModel<T>(
|
||||||
|
messageStatus: json['messageStatus'] as int?,
|
||||||
|
errorMessage: json['errorMessage'] as String?,
|
||||||
|
statusCode: json['statusCode'] as int?,
|
||||||
|
data: fromJsonT != null ? fromJsonT(json['data']) : json['data'] as T?,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson(Object Function(T value)? toJsonT) {
|
||||||
|
return {
|
||||||
|
'messageStatus': messageStatus,
|
||||||
|
'errorMessage': errorMessage,
|
||||||
|
'statusCode': statusCode,
|
||||||
|
'data': toJsonT != null && data != null ? toJsonT(data as T) : data,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
import 'package:hmg_patient_app_new/core/enums.dart';
|
||||||
|
import 'package:hmg_patient_app_new/features/authentication/models/request_models/send_activation_request_model.dart';
|
||||||
|
|
||||||
|
class RequestUtils {
|
||||||
|
static dynamic getCommonRequestWelcome({
|
||||||
|
required String phoneNumber,
|
||||||
|
required OTPTypeEnum otpTypeEnum,
|
||||||
|
required String? deviceToken,
|
||||||
|
required bool patientOutSA,
|
||||||
|
required String? loginTokenID,
|
||||||
|
required var registeredData,
|
||||||
|
required int? patientId,
|
||||||
|
required String nationIdText,
|
||||||
|
required String countryCode,
|
||||||
|
}) {
|
||||||
|
bool fileNo = false;
|
||||||
|
if (nationIdText.isNotEmpty) {
|
||||||
|
fileNo = nationIdText.length < 10;
|
||||||
|
}
|
||||||
|
var request = SendActivationRequest();
|
||||||
|
request.patientMobileNumber = int.parse(phoneNumber);
|
||||||
|
request.mobileNo = '0$phoneNumber';
|
||||||
|
request.deviceToken = deviceToken;
|
||||||
|
request.projectOutSA = patientOutSA;
|
||||||
|
request.loginType = otpTypeEnum.toInt();
|
||||||
|
request.oTPSendType = otpTypeEnum.toInt(); // could map OTPTypeEnum if needed
|
||||||
|
request.zipCode = countryCode; // or countryCode if defined elsewhere
|
||||||
|
request.logInTokenID = loginTokenID ?? "";
|
||||||
|
|
||||||
|
if (registeredData != null) {
|
||||||
|
request.searchType = registeredData.searchType ?? 1;
|
||||||
|
request.patientID = registeredData.patientID ?? 0;
|
||||||
|
request.patientIdentificationID = request.nationalID = registeredData.patientIdentificationID ?? '0';
|
||||||
|
request.dob = registeredData.dob;
|
||||||
|
request.isRegister = registeredData.isRegister;
|
||||||
|
} else {
|
||||||
|
if (fileNo) {
|
||||||
|
request.patientID = patientId ?? int.parse(nationIdText);
|
||||||
|
request.patientIdentificationID = request.nationalID = "";
|
||||||
|
request.searchType = 2;
|
||||||
|
} else {
|
||||||
|
request.patientID = 0;
|
||||||
|
request.searchType = 1;
|
||||||
|
request.patientIdentificationID = request.nationalID = nationIdText.isNotEmpty ? nationIdText : '0';
|
||||||
|
}
|
||||||
|
request.isRegister = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
request.deviceTypeID = request.searchType;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
|
||||||
|
static getCommonRequestAuthProvider({
|
||||||
|
required OTPTypeEnum otpTypeEnum,
|
||||||
|
required registeredData,
|
||||||
|
required deviceToken,
|
||||||
|
required mobileNumber,
|
||||||
|
required zipCode,
|
||||||
|
required patientOutSA,
|
||||||
|
required loginTokenID,
|
||||||
|
required selectedOption,
|
||||||
|
required int? patientId,
|
||||||
|
}) {
|
||||||
|
var request = SendActivationRequest();
|
||||||
|
request.patientMobileNumber = mobileNumber;
|
||||||
|
request.mobileNo = '0$mobileNumber';
|
||||||
|
request.deviceToken = deviceToken;
|
||||||
|
request.projectOutSA = patientOutSA == true ? true : false;
|
||||||
|
request.loginType = selectedOption;
|
||||||
|
request.oTPSendType = otpTypeEnum.toInt(); //this.selectedOption == 1 ? 1 : 2;
|
||||||
|
request.zipCode = zipCode;
|
||||||
|
|
||||||
|
request.logInTokenID = loginTokenID ?? "";
|
||||||
|
|
||||||
|
if (registeredData != null) {
|
||||||
|
request.searchType = registeredData.searchType ?? 1;
|
||||||
|
request.patientID = registeredData.patientID ?? 0;
|
||||||
|
request.patientIdentificationID = request.nationalID = registeredData.patientIdentificationID ?? '0';
|
||||||
|
request.dob = registeredData.dob;
|
||||||
|
request.isRegister = registeredData.isRegister;
|
||||||
|
} else {
|
||||||
|
request.searchType = request.searchType ?? 2;
|
||||||
|
request.patientID = patientId ?? 0;
|
||||||
|
request.nationalID = request.nationalID ?? '0';
|
||||||
|
request.patientIdentificationID = request.patientIdentificationID ?? '0';
|
||||||
|
request.isRegister = false;
|
||||||
|
}
|
||||||
|
request.deviceTypeID = request.searchType;
|
||||||
|
return request;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,47 +1,135 @@
|
|||||||
import 'dart:developer';
|
|
||||||
import 'dart:io';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:hmg_patient_app_new/core/api_consts.dart';
|
|
||||||
import 'package:hmg_patient_app_new/core/app_state.dart';
|
import 'package:hmg_patient_app_new/core/app_state.dart';
|
||||||
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
import 'package:hmg_patient_app_new/core/enums.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/request_utils.dart';
|
||||||
import 'package:hmg_patient_app_new/features/authentication/authentication_repo.dart';
|
import 'package:hmg_patient_app_new/features/authentication/authentication_repo.dart';
|
||||||
import 'package:hmg_patient_app_new/features/authentication/models/check_activation_code_request_register.dart';
|
import 'package:hmg_patient_app_new/features/authentication/models/request_models/check_patient_authentication_request_model.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/dialog_service.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/error_handler_service.dart';
|
||||||
|
|
||||||
class AuthenticationViewModel extends ChangeNotifier {
|
class AuthenticationViewModel extends ChangeNotifier {
|
||||||
AuthenticationRepo authenticationRepo;
|
AuthenticationRepo authenticationRepo;
|
||||||
AppState appState;
|
AppState appState;
|
||||||
|
ErrorHandlerService errorHandlerService;
|
||||||
|
DialogService dialogService;
|
||||||
|
|
||||||
AuthenticationViewModel({
|
AuthenticationViewModel({
|
||||||
required this.appState,
|
required this.appState,
|
||||||
required this.authenticationRepo,
|
required this.authenticationRepo,
|
||||||
|
required this.errorHandlerService,
|
||||||
|
required this.dialogService,
|
||||||
});
|
});
|
||||||
|
|
||||||
final TextEditingController nationalIdController = TextEditingController();
|
final TextEditingController nationalIdController = TextEditingController();
|
||||||
final TextEditingController phoneNumberController = TextEditingController();
|
final TextEditingController phoneNumberController = TextEditingController();
|
||||||
|
|
||||||
Future<void> selectDeviceImei({
|
Future<void> selectDeviceImei({Function(dynamic)? onSuccess, Function(String)? onError}) async {
|
||||||
Function(dynamic)? onSuccess,
|
String firebaseToken =
|
||||||
Function(String)? onError
|
"dOGRRszQQMGe_9wA5Hx3kO:APA91bFV5IcIJXvcCXXk0tc2ddtZgWwCPq7sGSuPr-YW7iiJpQZKgFGN9GAzCVOWL8MfheaP1slE8MdxB7lczdPBGdONQ7WbMmhgHcsUCUktq-hsapGXXqc";
|
||||||
}) async {
|
final result = await authenticationRepo.selectDeviceByImei(firebaseToken: firebaseToken);
|
||||||
final String firebaseToken =
|
|
||||||
"cIkkB7h7Q7uoFkC4Qv82xG:APA91bEb53Z9XzqymCIctaLxCoMX6bm9fuKlWILQ59uUqfwhCoD42AOP1-jWGB1WYd9BVN5PT2pUUFxrT07vcNg1KH9OH39mrPgCl0m21XVIgWrzNnCkufg";
|
|
||||||
|
|
||||||
final resultEither =
|
|
||||||
await authenticationRepo.selectDeviceByImei(firebaseToken: firebaseToken);
|
|
||||||
|
|
||||||
resultEither.fold(
|
|
||||||
(failure) {
|
|
||||||
notifyListeners();
|
|
||||||
if (onError != null) onError(failure.message);
|
|
||||||
},
|
|
||||||
(data) {
|
|
||||||
|
|
||||||
log("resultEither: ${data.toString()} ");
|
|
||||||
|
|
||||||
notifyListeners();
|
result.fold(
|
||||||
if (onSuccess != null) onSuccess(data);
|
(failure) async => await errorHandlerService.handleError(failure: failure),
|
||||||
|
(apiResponse) {
|
||||||
|
if (apiResponse.messageStatus == 2) {
|
||||||
|
dialogService.showErrorDialog(message: apiResponse.errorMessage!, onOkPressed: () {});
|
||||||
|
} else if (apiResponse.messageStatus == 1) {
|
||||||
|
//todo: move to next api call
|
||||||
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Future<void> checkUserAuthentication({Function(dynamic)? onSuccess, Function(String)? onError}) async {
|
||||||
|
// CheckPatientAuthenticationReq checkPatientAuthenticationReq = RequestUtils.getCommonRequestWelcome(
|
||||||
|
// phoneNumber: '0567184134',
|
||||||
|
// otpTypeEnum: OTPTypeEnum.sms,
|
||||||
|
// deviceToken: 'dummyDeviceToken123',
|
||||||
|
// patientOutSA: true,
|
||||||
|
// loginTokenID: 'dummyLoginToken456',
|
||||||
|
// registeredData: null,
|
||||||
|
// patientId: 12345,
|
||||||
|
// nationIdText: '1234567890',
|
||||||
|
// countryCode: 'SA',
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// final result = await authenticationRepo.checkPatientAuthentication(checkPatientAuthenticationReq: checkPatientAuthenticationReq);
|
||||||
|
// result.fold(
|
||||||
|
// (failure) async => await errorHandlerService.handleError(failure: failure),
|
||||||
|
// (apiResponse) {
|
||||||
|
// if (apiResponse.data['isSMSSent']) {
|
||||||
|
// // TODO: set this in AppState
|
||||||
|
// // sharedPref.setString(LOGIN_TOKEN_ID, value['LogInTokenID']);
|
||||||
|
// // loginTokenID = value['LogInTokenID'],
|
||||||
|
// // sharedPref.setObject(REGISTER_DATA_FOR_LOGIIN, request),
|
||||||
|
// sendActivationCode(type);
|
||||||
|
// } else {
|
||||||
|
// if (apiResponse.data['IsAuthenticated']) {
|
||||||
|
// checkActivationCode(onWrongActivationCode: (String? message) {});
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Future<void> sendActivationCode({required OTPTypeEnum otpTypeEnum}) async {
|
||||||
|
// var request = RequestUtils.getCommonRequestAuthProvider(
|
||||||
|
// otpTypeEnum: otpTypeEnum,
|
||||||
|
// registeredData: null,
|
||||||
|
// deviceToken: "dummyLoginToken456",
|
||||||
|
// mobileNumber: "0567184134",
|
||||||
|
// zipCode: "SA",
|
||||||
|
// patientOutSA: true,
|
||||||
|
// loginTokenID: "dummyLoginToken456",
|
||||||
|
// selectedOption: selectedOption,
|
||||||
|
// patientId: 12345,
|
||||||
|
// );
|
||||||
|
//
|
||||||
|
// request.sMSSignature = await SMSOTP.getSignature();
|
||||||
|
// selectedOption = type;
|
||||||
|
// // GifLoaderDialogUtils.showMyDialog(context);
|
||||||
|
// if (healthId != null || isDubai) {
|
||||||
|
// if (!isDubai) {
|
||||||
|
// request.dob = dob; //isHijri == 1 ? dob : dateFormat2.format(dateFormat.parse(dob));
|
||||||
|
// }
|
||||||
|
// request.healthId = healthId;
|
||||||
|
// request.isHijri = isHijri;
|
||||||
|
// await this.apiClient.sendActivationCodeRegister(request).then((result) {
|
||||||
|
// // GifLoaderDialogUtils.hideDialog(context);
|
||||||
|
// if (result != null && result['isSMSSent'] == true) {
|
||||||
|
// this.startSMSService(type);
|
||||||
|
// }
|
||||||
|
// }).catchError((r) {
|
||||||
|
// GifLoaderDialogUtils.hideDialog(context);
|
||||||
|
// context.showBottomSheet(
|
||||||
|
// child: ExceptionBottomSheet(
|
||||||
|
// message: r.toString(),
|
||||||
|
// onOkPressed: () {
|
||||||
|
// Navigator.of(context).pop();
|
||||||
|
// },
|
||||||
|
// ));
|
||||||
|
// // AppToast.showErrorToast(message: r);
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// request.dob = "";
|
||||||
|
// request.healthId = "";
|
||||||
|
// request.isHijri = 0;
|
||||||
|
// await this.authService.sendActivationCode(request).then((result) {
|
||||||
|
// GifLoaderDialogUtils.hideDialog(context);
|
||||||
|
// if (result != null && result['isSMSSent'] == true) {
|
||||||
|
// this.startSMSService(type);
|
||||||
|
// }
|
||||||
|
// }).catchError((r) {
|
||||||
|
// GifLoaderDialogUtils.hideDialog(context);
|
||||||
|
// context.showBottomSheet(
|
||||||
|
// child: ExceptionBottomSheet(
|
||||||
|
// message: r.toString(),
|
||||||
|
// onOkPressed: () {
|
||||||
|
// Navigator.of(context).pop();
|
||||||
|
// },
|
||||||
|
// ));
|
||||||
|
// // AppToast.showErrorToast(message: r.toString());
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,121 +0,0 @@
|
|||||||
class CheckActivationCodeRegisterReq {
|
|
||||||
int? patientMobileNumber;
|
|
||||||
String? mobileNo;
|
|
||||||
String? deviceToken;
|
|
||||||
bool? projectOutSA;
|
|
||||||
int? loginType;
|
|
||||||
String? zipCode;
|
|
||||||
bool? isRegister;
|
|
||||||
String? logInTokenID;
|
|
||||||
int? searchType;
|
|
||||||
int? patientID;
|
|
||||||
String? nationalID;
|
|
||||||
String? patientIdentificationID;
|
|
||||||
String? activationCode;
|
|
||||||
bool? isSilentLogin;
|
|
||||||
double? versionID;
|
|
||||||
int? channel;
|
|
||||||
int? languageID;
|
|
||||||
String? iPAdress;
|
|
||||||
String? generalid;
|
|
||||||
int? patientOutSA;
|
|
||||||
dynamic sessionID;
|
|
||||||
bool? isDentalAllowedBackend;
|
|
||||||
int? deviceTypeID;
|
|
||||||
bool? forRegisteration;
|
|
||||||
String? dob;
|
|
||||||
int? isHijri;
|
|
||||||
String? healthId;
|
|
||||||
|
|
||||||
CheckActivationCodeRegisterReq({
|
|
||||||
this.patientMobileNumber,
|
|
||||||
this.mobileNo,
|
|
||||||
this.deviceToken,
|
|
||||||
this.projectOutSA,
|
|
||||||
this.loginType,
|
|
||||||
this.zipCode,
|
|
||||||
this.isRegister,
|
|
||||||
this.logInTokenID,
|
|
||||||
this.searchType,
|
|
||||||
this.patientID,
|
|
||||||
this.nationalID,
|
|
||||||
this.patientIdentificationID,
|
|
||||||
this.activationCode,
|
|
||||||
this.isSilentLogin,
|
|
||||||
this.versionID,
|
|
||||||
this.channel,
|
|
||||||
this.languageID,
|
|
||||||
this.iPAdress,
|
|
||||||
this.generalid,
|
|
||||||
this.patientOutSA,
|
|
||||||
this.sessionID,
|
|
||||||
this.isDentalAllowedBackend,
|
|
||||||
this.deviceTypeID,
|
|
||||||
this.forRegisteration,
|
|
||||||
this.dob,
|
|
||||||
this.isHijri,
|
|
||||||
this.healthId,
|
|
||||||
});
|
|
||||||
|
|
||||||
CheckActivationCodeRegisterReq.fromJson(Map<String, dynamic> json) {
|
|
||||||
patientMobileNumber = json['PatientMobileNumber'];
|
|
||||||
mobileNo = json['MobileNo'];
|
|
||||||
deviceToken = json['DeviceToken'];
|
|
||||||
projectOutSA = json['ProjectOutSA'];
|
|
||||||
loginType = json['LoginType'];
|
|
||||||
zipCode = json['ZipCode'];
|
|
||||||
isRegister = json['isRegister'];
|
|
||||||
logInTokenID = json['LogInTokenID'];
|
|
||||||
searchType = json['SearchType'];
|
|
||||||
patientID = json['PatientID'];
|
|
||||||
nationalID = json['NationalID'];
|
|
||||||
patientIdentificationID = json['PatientIdentificationID'];
|
|
||||||
activationCode = json['activationCode'];
|
|
||||||
isSilentLogin = json['IsSilentLogin'];
|
|
||||||
versionID = json['VersionID'];
|
|
||||||
channel = json['Channel'];
|
|
||||||
languageID = json['LanguageID'];
|
|
||||||
iPAdress = json['IPAdress'];
|
|
||||||
generalid = json['generalid'];
|
|
||||||
patientOutSA = json['PatientOutSA'];
|
|
||||||
sessionID = json['SessionID'];
|
|
||||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
|
||||||
deviceTypeID = json['DeviceTypeID'];
|
|
||||||
forRegisteration = json['ForRegisteration'];
|
|
||||||
dob = json['DOB'];
|
|
||||||
isHijri = json['IsHijri'];
|
|
||||||
healthId = json['HealthId'];
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
|
||||||
data['PatientMobileNumber'] = this.patientMobileNumber;
|
|
||||||
data['MobileNo'] = this.mobileNo;
|
|
||||||
data['DeviceToken'] = this.deviceToken;
|
|
||||||
data['ProjectOutSA'] = this.projectOutSA;
|
|
||||||
data['LoginType'] = this.loginType;
|
|
||||||
data['ZipCode'] = this.zipCode;
|
|
||||||
data['isRegister'] = this.isRegister;
|
|
||||||
data['LogInTokenID'] = this.logInTokenID;
|
|
||||||
data['SearchType'] = this.searchType;
|
|
||||||
data['PatientID'] = this.patientID;
|
|
||||||
data['NationalID'] = this.nationalID;
|
|
||||||
data['PatientIdentificationID'] = this.patientIdentificationID;
|
|
||||||
data['activationCode'] = this.activationCode;
|
|
||||||
data['IsSilentLogin'] = this.isSilentLogin;
|
|
||||||
data['VersionID'] = this.versionID;
|
|
||||||
data['Channel'] = this.channel;
|
|
||||||
data['LanguageID'] = this.languageID;
|
|
||||||
data['IPAdress'] = this.iPAdress;
|
|
||||||
data['generalid'] = this.generalid;
|
|
||||||
data['PatientOutSA'] = this.patientOutSA;
|
|
||||||
data['SessionID'] = this.sessionID;
|
|
||||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
|
||||||
data['DeviceTypeID'] = this.deviceTypeID;
|
|
||||||
data['ForRegisteration'] = this.forRegisteration;
|
|
||||||
data['DOB'] = dob;
|
|
||||||
data['IsHijri'] = isHijri;
|
|
||||||
data['HealthId'] = healthId;
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,121 @@
|
|||||||
|
// class CheckActivationCodeRegisterReq {
|
||||||
|
// int? patientMobileNumber;
|
||||||
|
// String? mobileNo;
|
||||||
|
// String? deviceToken;
|
||||||
|
// bool? projectOutSA;
|
||||||
|
// int? loginType;
|
||||||
|
// String? zipCode;
|
||||||
|
// bool? isRegister;
|
||||||
|
// String? logInTokenID;
|
||||||
|
// int? searchType;
|
||||||
|
// int? patientID;
|
||||||
|
// String? nationalID;
|
||||||
|
// String? patientIdentificationID;
|
||||||
|
// String? activationCode;
|
||||||
|
// bool? isSilentLogin;
|
||||||
|
// double? versionID;
|
||||||
|
// int? channel;
|
||||||
|
// int? languageID;
|
||||||
|
// String? iPAdress;
|
||||||
|
// String? generalid;
|
||||||
|
// int? patientOutSA;
|
||||||
|
// dynamic sessionID;
|
||||||
|
// bool? isDentalAllowedBackend;
|
||||||
|
// int? deviceTypeID;
|
||||||
|
// bool? forRegisteration;
|
||||||
|
// String? dob;
|
||||||
|
// int? isHijri;
|
||||||
|
// String? healthId;
|
||||||
|
//
|
||||||
|
// CheckActivationCodeRegisterReq({
|
||||||
|
// this.patientMobileNumber,
|
||||||
|
// this.mobileNo,
|
||||||
|
// this.deviceToken,
|
||||||
|
// this.projectOutSA,
|
||||||
|
// this.loginType,
|
||||||
|
// this.zipCode,
|
||||||
|
// this.isRegister,
|
||||||
|
// this.logInTokenID,
|
||||||
|
// this.searchType,
|
||||||
|
// this.patientID,
|
||||||
|
// this.nationalID,
|
||||||
|
// this.patientIdentificationID,
|
||||||
|
// this.activationCode,
|
||||||
|
// this.isSilentLogin,
|
||||||
|
// this.versionID,
|
||||||
|
// this.channel,
|
||||||
|
// this.languageID,
|
||||||
|
// this.iPAdress,
|
||||||
|
// this.generalid,
|
||||||
|
// this.patientOutSA,
|
||||||
|
// this.sessionID,
|
||||||
|
// this.isDentalAllowedBackend,
|
||||||
|
// this.deviceTypeID,
|
||||||
|
// this.forRegisteration,
|
||||||
|
// this.dob,
|
||||||
|
// this.isHijri,
|
||||||
|
// this.healthId,
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// CheckActivationCodeRegisterReq.fromJson(Map<String, dynamic> json) {
|
||||||
|
// patientMobileNumber = json['PatientMobileNumber'];
|
||||||
|
// mobileNo = json['MobileNo'];
|
||||||
|
// deviceToken = json['DeviceToken'];
|
||||||
|
// projectOutSA = json['ProjectOutSA'];
|
||||||
|
// loginType = json['LoginType'];
|
||||||
|
// zipCode = json['ZipCode'];
|
||||||
|
// isRegister = json['isRegister'];
|
||||||
|
// logInTokenID = json['LogInTokenID'];
|
||||||
|
// searchType = json['SearchType'];
|
||||||
|
// patientID = json['PatientID'];
|
||||||
|
// nationalID = json['NationalID'];
|
||||||
|
// patientIdentificationID = json['PatientIdentificationID'];
|
||||||
|
// activationCode = json['activationCode'];
|
||||||
|
// isSilentLogin = json['IsSilentLogin'];
|
||||||
|
// versionID = json['VersionID'];
|
||||||
|
// channel = json['Channel'];
|
||||||
|
// languageID = json['LanguageID'];
|
||||||
|
// iPAdress = json['IPAdress'];
|
||||||
|
// generalid = json['generalid'];
|
||||||
|
// patientOutSA = json['PatientOutSA'];
|
||||||
|
// sessionID = json['SessionID'];
|
||||||
|
// isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||||
|
// deviceTypeID = json['DeviceTypeID'];
|
||||||
|
// forRegisteration = json['ForRegisteration'];
|
||||||
|
// dob = json['DOB'];
|
||||||
|
// isHijri = json['IsHijri'];
|
||||||
|
// healthId = json['HealthId'];
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Map<String, dynamic> toJson() {
|
||||||
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
// data['PatientMobileNumber'] = this.patientMobileNumber;
|
||||||
|
// data['MobileNo'] = this.mobileNo;
|
||||||
|
// data['DeviceToken'] = this.deviceToken;
|
||||||
|
// data['ProjectOutSA'] = this.projectOutSA;
|
||||||
|
// data['LoginType'] = this.loginType;
|
||||||
|
// data['ZipCode'] = this.zipCode;
|
||||||
|
// data['isRegister'] = this.isRegister;
|
||||||
|
// data['LogInTokenID'] = this.logInTokenID;
|
||||||
|
// data['SearchType'] = this.searchType;
|
||||||
|
// data['PatientID'] = this.patientID;
|
||||||
|
// data['NationalID'] = this.nationalID;
|
||||||
|
// data['PatientIdentificationID'] = this.patientIdentificationID;
|
||||||
|
// data['activationCode'] = this.activationCode;
|
||||||
|
// data['IsSilentLogin'] = this.isSilentLogin;
|
||||||
|
// data['VersionID'] = this.versionID;
|
||||||
|
// data['Channel'] = this.channel;
|
||||||
|
// data['LanguageID'] = this.languageID;
|
||||||
|
// data['IPAdress'] = this.iPAdress;
|
||||||
|
// data['generalid'] = this.generalid;
|
||||||
|
// data['PatientOutSA'] = this.patientOutSA;
|
||||||
|
// data['SessionID'] = this.sessionID;
|
||||||
|
// data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||||
|
// data['DeviceTypeID'] = this.deviceTypeID;
|
||||||
|
// data['ForRegisteration'] = this.forRegisteration;
|
||||||
|
// data['DOB'] = dob;
|
||||||
|
// data['IsHijri'] = isHijri;
|
||||||
|
// data['HealthId'] = healthId;
|
||||||
|
// return data;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
class CheckPatientAuthenticationReq {
|
||||||
|
int? patientMobileNumber;
|
||||||
|
String? zipCode;
|
||||||
|
bool? isRegister;
|
||||||
|
String? tokenID;
|
||||||
|
int? searchType;
|
||||||
|
String? patientIdentificationID;
|
||||||
|
int? patientID;
|
||||||
|
double? versionID;
|
||||||
|
int? channel;
|
||||||
|
int? languageID;
|
||||||
|
String? iPAdress;
|
||||||
|
String? generalid;
|
||||||
|
int? patientOutSA;
|
||||||
|
dynamic sessionID;
|
||||||
|
bool? isDentalAllowedBackend;
|
||||||
|
int? deviceTypeID;
|
||||||
|
String? dob;
|
||||||
|
int? isHijri;
|
||||||
|
String? healthId;
|
||||||
|
|
||||||
|
CheckPatientAuthenticationReq(
|
||||||
|
{this.patientMobileNumber,
|
||||||
|
this.zipCode,
|
||||||
|
this.isRegister,
|
||||||
|
this.tokenID,
|
||||||
|
this.searchType,
|
||||||
|
this.patientIdentificationID,
|
||||||
|
this.patientID,
|
||||||
|
this.versionID,
|
||||||
|
this.channel,
|
||||||
|
this.languageID,
|
||||||
|
this.iPAdress,
|
||||||
|
this.generalid,
|
||||||
|
this.patientOutSA,
|
||||||
|
this.sessionID,
|
||||||
|
this.isDentalAllowedBackend,
|
||||||
|
this.deviceTypeID,
|
||||||
|
this.dob,
|
||||||
|
this.isHijri,
|
||||||
|
this.healthId});
|
||||||
|
|
||||||
|
CheckPatientAuthenticationReq.fromJson(Map<String, dynamic> json) {
|
||||||
|
patientMobileNumber = json['PatientMobileNumber'];
|
||||||
|
zipCode = json['ZipCode'];
|
||||||
|
isRegister = json['isRegister'];
|
||||||
|
tokenID = json['TokenID'];
|
||||||
|
searchType = json['SearchType'];
|
||||||
|
patientIdentificationID = json['PatientIdentificationID'];
|
||||||
|
patientID = json['PatientID'];
|
||||||
|
versionID = json['VersionID'];
|
||||||
|
channel = json['Channel'];
|
||||||
|
languageID = json['LanguageID'];
|
||||||
|
iPAdress = json['IPAdress'];
|
||||||
|
generalid = json['generalid'];
|
||||||
|
patientOutSA = json['PatientOutSA'];
|
||||||
|
sessionID = json['SessionID'];
|
||||||
|
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||||
|
deviceTypeID = json['DeviceTypeID'];
|
||||||
|
dob = json['dob'];
|
||||||
|
isHijri = json['isHijri'];
|
||||||
|
healthId = json['HealthId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['PatientMobileNumber'] = patientMobileNumber;
|
||||||
|
data['ZipCode'] = zipCode;
|
||||||
|
data['isRegister'] = isRegister;
|
||||||
|
data['TokenID'] = tokenID;
|
||||||
|
data['SearchType'] = searchType;
|
||||||
|
data['PatientIdentificationID'] = patientIdentificationID;
|
||||||
|
data['PatientID'] = patientID;
|
||||||
|
data['VersionID'] = versionID;
|
||||||
|
data['Channel'] = channel;
|
||||||
|
data['LanguageID'] = languageID;
|
||||||
|
data['IPAdress'] = iPAdress;
|
||||||
|
data['generalid'] = generalid;
|
||||||
|
data['PatientOutSA'] = patientOutSA;
|
||||||
|
data['SessionID'] = sessionID;
|
||||||
|
data['isDentalAllowedBackend'] = isDentalAllowedBackend;
|
||||||
|
data['DeviceTypeID'] = deviceTypeID;
|
||||||
|
data['dob'] = dob;
|
||||||
|
data['isHijri'] = isHijri;
|
||||||
|
data['HealthId'] = healthId;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,132 @@
|
|||||||
|
class SendActivationRequest {
|
||||||
|
int? patientMobileNumber;
|
||||||
|
String? mobileNo;
|
||||||
|
String? deviceToken;
|
||||||
|
bool? projectOutSA;
|
||||||
|
int? loginType;
|
||||||
|
String? zipCode;
|
||||||
|
bool? isRegister;
|
||||||
|
String? logInTokenID;
|
||||||
|
int? searchType;
|
||||||
|
int? patientID;
|
||||||
|
String? nationalID;
|
||||||
|
String? patientIdentificationID;
|
||||||
|
int? oTPSendType;
|
||||||
|
int? languageID;
|
||||||
|
double? versionID;
|
||||||
|
int? channel;
|
||||||
|
String? iPAdress;
|
||||||
|
String? generalid;
|
||||||
|
int? patientOutSA;
|
||||||
|
dynamic sessionID;
|
||||||
|
bool? isDentalAllowedBackend;
|
||||||
|
int? deviceTypeID;
|
||||||
|
String? sMSSignature;
|
||||||
|
String? dob;
|
||||||
|
int? isHijri;
|
||||||
|
String? healthId;
|
||||||
|
int? responseID;
|
||||||
|
int? status;
|
||||||
|
int? familyRegionID;
|
||||||
|
bool? isPatientExcluded;
|
||||||
|
SendActivationRequest(
|
||||||
|
{this.patientMobileNumber,
|
||||||
|
this.mobileNo,
|
||||||
|
this.deviceToken,
|
||||||
|
this.projectOutSA,
|
||||||
|
this.loginType,
|
||||||
|
this.zipCode,
|
||||||
|
this.isRegister,
|
||||||
|
this.logInTokenID,
|
||||||
|
this.searchType,
|
||||||
|
this.patientID,
|
||||||
|
this.nationalID,
|
||||||
|
this.patientIdentificationID,
|
||||||
|
this.oTPSendType,
|
||||||
|
this.languageID,
|
||||||
|
this.versionID,
|
||||||
|
this.channel,
|
||||||
|
this.iPAdress,
|
||||||
|
this.generalid,
|
||||||
|
this.patientOutSA,
|
||||||
|
this.sessionID,
|
||||||
|
this.isDentalAllowedBackend,
|
||||||
|
this.deviceTypeID,
|
||||||
|
this.sMSSignature,
|
||||||
|
this.dob,
|
||||||
|
this.isHijri,
|
||||||
|
this.healthId,
|
||||||
|
this.responseID,
|
||||||
|
this.status,
|
||||||
|
this.familyRegionID,
|
||||||
|
this.isPatientExcluded
|
||||||
|
});
|
||||||
|
|
||||||
|
SendActivationRequest.fromJson(Map<String, dynamic> json) {
|
||||||
|
patientMobileNumber = json['PatientMobileNumber'];
|
||||||
|
mobileNo = json['MobileNo'];
|
||||||
|
deviceToken = json['DeviceToken'];
|
||||||
|
projectOutSA = json['ProjectOutSA'];
|
||||||
|
loginType = json['LoginType'];
|
||||||
|
zipCode = json['ZipCode'];
|
||||||
|
isRegister = json['isRegister'];
|
||||||
|
logInTokenID = json['LogInTokenID'];
|
||||||
|
searchType = json['SearchType'];
|
||||||
|
patientID = json['PatientID'];
|
||||||
|
nationalID = json['NationalID'];
|
||||||
|
patientIdentificationID = json['PatientIdentificationID'];
|
||||||
|
oTPSendType = json['OTP_SendType'];
|
||||||
|
languageID = json['LanguageID'];
|
||||||
|
versionID = json['VersionID'];
|
||||||
|
channel = json['Channel'];
|
||||||
|
iPAdress = json['IPAdress'];
|
||||||
|
generalid = json['generalid'];
|
||||||
|
patientOutSA = json['PatientOutSA'];
|
||||||
|
sessionID = json['SessionID'];
|
||||||
|
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||||
|
deviceTypeID = json['DeviceTypeID'];
|
||||||
|
sMSSignature = json['SMSSignature'];
|
||||||
|
dob = json['DOB'];
|
||||||
|
isHijri = json['IsHijri'];
|
||||||
|
healthId = json['HealthId'];
|
||||||
|
responseID = json['ReponseID'];
|
||||||
|
status = json['Status'];
|
||||||
|
familyRegionID = json['FamilyRegionID'];
|
||||||
|
isPatientExcluded = json['IsPatientExcluded'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['PatientMobileNumber'] = patientMobileNumber;
|
||||||
|
data['MobileNo'] = mobileNo;
|
||||||
|
data['DeviceToken'] = deviceToken;
|
||||||
|
data['ProjectOutSA'] = projectOutSA;
|
||||||
|
data['LoginType'] = loginType;
|
||||||
|
data['ZipCode'] = zipCode;
|
||||||
|
data['isRegister'] = isRegister;
|
||||||
|
data['LogInTokenID'] = logInTokenID;
|
||||||
|
data['SearchType'] = searchType;
|
||||||
|
data['PatientID'] = patientID;
|
||||||
|
data['NationalID'] = nationalID;
|
||||||
|
data['PatientIdentificationID'] = patientIdentificationID;
|
||||||
|
data['OTP_SendType'] = oTPSendType;
|
||||||
|
data['LanguageID'] = languageID;
|
||||||
|
data['VersionID'] = versionID;
|
||||||
|
data['Channel'] = channel;
|
||||||
|
data['IPAdress'] = iPAdress;
|
||||||
|
data['generalid'] = generalid;
|
||||||
|
data['PatientOutSA'] = patientOutSA;
|
||||||
|
data['SessionID'] = sessionID;
|
||||||
|
data['isDentalAllowedBackend'] = isDentalAllowedBackend;
|
||||||
|
data['DeviceTypeID'] = deviceTypeID;
|
||||||
|
data['SMSSignature'] = sMSSignature;
|
||||||
|
data['DOB'] = dob;
|
||||||
|
data['IsHijri'] = isHijri;
|
||||||
|
data['HealthId'] = healthId;
|
||||||
|
data['ResponseID'] = responseID;
|
||||||
|
data['Status'] = status;
|
||||||
|
data['FamilyRegionID'] = familyRegionID;
|
||||||
|
data['IsPatientExcluded'] = isPatientExcluded;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,546 @@
|
|||||||
|
import 'package:hmg_patient_app_new/features/authentication/models/resp_models/authenticated_user_resp_model.dart';
|
||||||
|
|
||||||
|
class CheckActivationCode {
|
||||||
|
dynamic date;
|
||||||
|
int? languageID;
|
||||||
|
int? serviceName;
|
||||||
|
dynamic time;
|
||||||
|
dynamic androidLink;
|
||||||
|
String? authenticationTokenID;
|
||||||
|
dynamic data;
|
||||||
|
bool? dataw;
|
||||||
|
int? dietType;
|
||||||
|
dynamic errorCode;
|
||||||
|
dynamic errorEndUserMessage;
|
||||||
|
dynamic errorEndUserMessageN;
|
||||||
|
dynamic errorMessage;
|
||||||
|
int? errorType;
|
||||||
|
int? foodCategory;
|
||||||
|
dynamic iOSLink;
|
||||||
|
bool? isAuthenticated;
|
||||||
|
int? mealOrderStatus;
|
||||||
|
int? mealType;
|
||||||
|
int? messageStatus;
|
||||||
|
int? numberOfResultRecords;
|
||||||
|
dynamic patientBlodType;
|
||||||
|
dynamic successMsg;
|
||||||
|
dynamic successMsgN;
|
||||||
|
dynamic doctorInformationList;
|
||||||
|
dynamic getAllPendingRecordsList;
|
||||||
|
dynamic getAllSharedRecordsByStatusList;
|
||||||
|
dynamic getResponseFileList;
|
||||||
|
bool? isHMGPatient;
|
||||||
|
bool? isLoginSuccessfully;
|
||||||
|
bool? isNeedUpdateIdintificationNo;
|
||||||
|
bool? kioskSendSMS;
|
||||||
|
AuthenticatedUser? list;
|
||||||
|
dynamic listAskHabibMobileLoginInfo;
|
||||||
|
dynamic listAskHabibPatientFile;
|
||||||
|
dynamic listMergeFiles;
|
||||||
|
dynamic listMobileLoginInfo;
|
||||||
|
dynamic listPatientCount;
|
||||||
|
dynamic logInTokenID;
|
||||||
|
dynamic mohemmPrivilegeList;
|
||||||
|
int? pateintID;
|
||||||
|
String? patientBloodType;
|
||||||
|
bool? patientHasFile;
|
||||||
|
dynamic patientMergedIDs;
|
||||||
|
bool? patientOutSA;
|
||||||
|
int? patientShareRequestID;
|
||||||
|
int? patientType;
|
||||||
|
int? projectIDOut;
|
||||||
|
dynamic returnMessage;
|
||||||
|
bool? sMSLoginRequired;
|
||||||
|
dynamic servicePrivilegeList;
|
||||||
|
dynamic sharePatientName;
|
||||||
|
dynamic verificationCode;
|
||||||
|
dynamic email;
|
||||||
|
dynamic errorList;
|
||||||
|
bool? hasFile;
|
||||||
|
bool? isActiveCode;
|
||||||
|
bool? isMerged;
|
||||||
|
bool? isNeedUserAgreement;
|
||||||
|
bool? isSMSSent;
|
||||||
|
dynamic memberList;
|
||||||
|
dynamic message;
|
||||||
|
int? statusCode;
|
||||||
|
|
||||||
|
CheckActivationCode(
|
||||||
|
{this.date,
|
||||||
|
this.languageID,
|
||||||
|
this.serviceName,
|
||||||
|
this.time,
|
||||||
|
this.androidLink,
|
||||||
|
this.authenticationTokenID,
|
||||||
|
this.data,
|
||||||
|
this.dataw,
|
||||||
|
this.dietType,
|
||||||
|
this.errorCode,
|
||||||
|
this.errorEndUserMessage,
|
||||||
|
this.errorEndUserMessageN,
|
||||||
|
this.errorMessage,
|
||||||
|
this.errorType,
|
||||||
|
this.foodCategory,
|
||||||
|
this.iOSLink,
|
||||||
|
this.isAuthenticated,
|
||||||
|
this.mealOrderStatus,
|
||||||
|
this.mealType,
|
||||||
|
this.messageStatus,
|
||||||
|
this.numberOfResultRecords,
|
||||||
|
this.patientBlodType,
|
||||||
|
this.successMsg,
|
||||||
|
this.successMsgN,
|
||||||
|
this.doctorInformationList,
|
||||||
|
this.getAllPendingRecordsList,
|
||||||
|
this.getAllSharedRecordsByStatusList,
|
||||||
|
this.getResponseFileList,
|
||||||
|
this.isHMGPatient,
|
||||||
|
this.isLoginSuccessfully,
|
||||||
|
this.isNeedUpdateIdintificationNo,
|
||||||
|
this.kioskSendSMS,
|
||||||
|
this.list,
|
||||||
|
this.listAskHabibMobileLoginInfo,
|
||||||
|
this.listAskHabibPatientFile,
|
||||||
|
this.listMergeFiles,
|
||||||
|
this.listMobileLoginInfo,
|
||||||
|
this.listPatientCount,
|
||||||
|
this.logInTokenID,
|
||||||
|
this.mohemmPrivilegeList,
|
||||||
|
this.pateintID,
|
||||||
|
this.patientBloodType,
|
||||||
|
this.patientHasFile,
|
||||||
|
this.patientMergedIDs,
|
||||||
|
this.patientOutSA,
|
||||||
|
this.patientShareRequestID,
|
||||||
|
this.patientType,
|
||||||
|
this.projectIDOut,
|
||||||
|
this.returnMessage,
|
||||||
|
this.sMSLoginRequired,
|
||||||
|
this.servicePrivilegeList,
|
||||||
|
this.sharePatientName,
|
||||||
|
this.verificationCode,
|
||||||
|
this.email,
|
||||||
|
this.errorList,
|
||||||
|
this.hasFile,
|
||||||
|
this.isActiveCode,
|
||||||
|
this.isMerged,
|
||||||
|
this.isNeedUserAgreement,
|
||||||
|
this.isSMSSent,
|
||||||
|
this.memberList,
|
||||||
|
this.message,
|
||||||
|
this.statusCode});
|
||||||
|
|
||||||
|
CheckActivationCode.fromJson(Map<String, dynamic> json) {
|
||||||
|
date = json['Date'];
|
||||||
|
languageID = json['LanguageID'];
|
||||||
|
serviceName = json['ServiceName'];
|
||||||
|
time = json['Time'];
|
||||||
|
androidLink = json['AndroidLink'];
|
||||||
|
authenticationTokenID = json['AuthenticationTokenID'];
|
||||||
|
data = json['Data'];
|
||||||
|
dataw = json['Dataw'];
|
||||||
|
dietType = json['DietType'];
|
||||||
|
errorCode = json['ErrorCode'];
|
||||||
|
errorEndUserMessage = json['ErrorEndUserMessage'];
|
||||||
|
errorEndUserMessageN = json['ErrorEndUserMessageN'];
|
||||||
|
errorMessage = json['ErrorMessage'];
|
||||||
|
errorType = json['ErrorType'];
|
||||||
|
foodCategory = json['FoodCategory'];
|
||||||
|
iOSLink = json['IOSLink'];
|
||||||
|
isAuthenticated = json['IsAuthenticated'];
|
||||||
|
mealOrderStatus = json['MealOrderStatus'];
|
||||||
|
mealType = json['MealType'];
|
||||||
|
messageStatus = json['MessageStatus'];
|
||||||
|
numberOfResultRecords = json['NumberOfResultRecords'];
|
||||||
|
patientBlodType = json['PatientBlodType'];
|
||||||
|
successMsg = json['SuccessMsg'];
|
||||||
|
successMsgN = json['SuccessMsgN'];
|
||||||
|
doctorInformationList = json['DoctorInformation_List'];
|
||||||
|
getAllPendingRecordsList = json['GetAllPendingRecordsList'];
|
||||||
|
getAllSharedRecordsByStatusList = json['GetAllSharedRecordsByStatusList'];
|
||||||
|
getResponseFileList = json['GetResponseFileList'];
|
||||||
|
isHMGPatient = json['IsHMGPatient'];
|
||||||
|
isLoginSuccessfully = json['IsLoginSuccessfully'];
|
||||||
|
isNeedUpdateIdintificationNo = json['IsNeedUpdateIdintificationNo'];
|
||||||
|
kioskSendSMS = json['KioskSendSMS'];
|
||||||
|
if (json['List'] != null) {
|
||||||
|
list = AuthenticatedUser.fromJson(json['List'][0]);
|
||||||
|
}
|
||||||
|
listAskHabibMobileLoginInfo = json['List_AskHabibMobileLoginInfo'];
|
||||||
|
listAskHabibPatientFile = json['List_AskHabibPatientFile'];
|
||||||
|
listMergeFiles = json['List_MergeFiles'];
|
||||||
|
listMobileLoginInfo = json['List_MobileLoginInfo'];
|
||||||
|
listPatientCount = json['List_PatientCount'];
|
||||||
|
logInTokenID = json['LogInTokenID'];
|
||||||
|
mohemmPrivilegeList = json['MohemmPrivilege_List'];
|
||||||
|
pateintID = json['PateintID'];
|
||||||
|
patientBloodType = json['PatientBloodType'];
|
||||||
|
patientHasFile = json['PatientHasFile'];
|
||||||
|
patientMergedIDs = json['PatientMergedIDs'];
|
||||||
|
patientOutSA = json['PatientOutSA'];
|
||||||
|
patientShareRequestID = json['PatientShareRequestID'];
|
||||||
|
patientType = json['PatientType'];
|
||||||
|
projectIDOut = json['ProjectIDOut'];
|
||||||
|
returnMessage = json['ReturnMessage'];
|
||||||
|
sMSLoginRequired = json['SMSLoginRequired'];
|
||||||
|
servicePrivilegeList = json['ServicePrivilege_List'];
|
||||||
|
sharePatientName = json['SharePatientName'];
|
||||||
|
verificationCode = json['VerificationCode'];
|
||||||
|
email = json['email'];
|
||||||
|
errorList = json['errorList'];
|
||||||
|
hasFile = json['hasFile'];
|
||||||
|
isActiveCode = json['isActiveCode'];
|
||||||
|
isMerged = json['isMerged'];
|
||||||
|
isNeedUserAgreement = json['isNeedUserAgreement'];
|
||||||
|
isSMSSent = json['isSMSSent'];
|
||||||
|
memberList = json['memberList'];
|
||||||
|
message = json['message'];
|
||||||
|
statusCode = json['statusCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['Date'] = date;
|
||||||
|
data['LanguageID'] = languageID;
|
||||||
|
data['ServiceName'] = serviceName;
|
||||||
|
data['Time'] = time;
|
||||||
|
data['AndroidLink'] = androidLink;
|
||||||
|
data['AuthenticationTokenID'] = authenticationTokenID;
|
||||||
|
data['Data'] = this.data;
|
||||||
|
data['Dataw'] = dataw;
|
||||||
|
data['DietType'] = dietType;
|
||||||
|
data['ErrorCode'] = errorCode;
|
||||||
|
data['ErrorEndUserMessage'] = errorEndUserMessage;
|
||||||
|
data['ErrorEndUserMessageN'] = errorEndUserMessageN;
|
||||||
|
data['ErrorMessage'] = errorMessage;
|
||||||
|
data['ErrorType'] = errorType;
|
||||||
|
data['FoodCategory'] = foodCategory;
|
||||||
|
data['IOSLink'] = iOSLink;
|
||||||
|
data['IsAuthenticated'] = isAuthenticated;
|
||||||
|
data['MealOrderStatus'] = mealOrderStatus;
|
||||||
|
data['MealType'] = mealType;
|
||||||
|
data['MessageStatus'] = messageStatus;
|
||||||
|
data['NumberOfResultRecords'] = numberOfResultRecords;
|
||||||
|
data['PatientBlodType'] = patientBlodType;
|
||||||
|
data['SuccessMsg'] = successMsg;
|
||||||
|
data['SuccessMsgN'] = successMsgN;
|
||||||
|
data['DoctorInformation_List'] = doctorInformationList;
|
||||||
|
data['GetAllPendingRecordsList'] = getAllPendingRecordsList;
|
||||||
|
data['GetAllSharedRecordsByStatusList'] = getAllSharedRecordsByStatusList;
|
||||||
|
data['GetResponseFileList'] = getResponseFileList;
|
||||||
|
data['IsHMGPatient'] = isHMGPatient;
|
||||||
|
data['IsLoginSuccessfully'] = isLoginSuccessfully;
|
||||||
|
data['IsNeedUpdateIdintificationNo'] = isNeedUpdateIdintificationNo;
|
||||||
|
data['KioskSendSMS'] = kioskSendSMS;
|
||||||
|
if (list != null) {
|
||||||
|
data['List'] = list;
|
||||||
|
}
|
||||||
|
data['List_AskHabibMobileLoginInfo'] = listAskHabibMobileLoginInfo;
|
||||||
|
data['List_AskHabibPatientFile'] = listAskHabibPatientFile;
|
||||||
|
data['List_MergeFiles'] = listMergeFiles;
|
||||||
|
data['List_MobileLoginInfo'] = listMobileLoginInfo;
|
||||||
|
data['List_PatientCount'] = listPatientCount;
|
||||||
|
data['LogInTokenID'] = logInTokenID;
|
||||||
|
data['MohemmPrivilege_List'] = mohemmPrivilegeList;
|
||||||
|
data['PateintID'] = pateintID;
|
||||||
|
data['PatientBloodType'] = patientBloodType;
|
||||||
|
data['PatientHasFile'] = patientHasFile;
|
||||||
|
data['PatientMergedIDs'] = patientMergedIDs;
|
||||||
|
data['PatientOutSA'] = patientOutSA;
|
||||||
|
data['PatientShareRequestID'] = patientShareRequestID;
|
||||||
|
data['PatientType'] = patientType;
|
||||||
|
data['ProjectIDOut'] = projectIDOut;
|
||||||
|
data['ReturnMessage'] = returnMessage;
|
||||||
|
data['SMSLoginRequired'] = sMSLoginRequired;
|
||||||
|
data['ServicePrivilege_List'] = servicePrivilegeList;
|
||||||
|
data['SharePatientName'] = sharePatientName;
|
||||||
|
data['VerificationCode'] = verificationCode;
|
||||||
|
data['email'] = email;
|
||||||
|
data['errorList'] = errorList;
|
||||||
|
data['hasFile'] = hasFile;
|
||||||
|
data['isActiveCode'] = isActiveCode;
|
||||||
|
data['isMerged'] = isMerged;
|
||||||
|
data['isNeedUserAgreement'] = isNeedUserAgreement;
|
||||||
|
data['isSMSSent'] = isSMSSent;
|
||||||
|
data['memberList'] = memberList;
|
||||||
|
data['message'] = message;
|
||||||
|
data['statusCode'] = statusCode;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class List {
|
||||||
|
String? setupID;
|
||||||
|
int? patientType;
|
||||||
|
int? patientID;
|
||||||
|
String? firstName;
|
||||||
|
String? middleName;
|
||||||
|
String? lastName;
|
||||||
|
String? firstNameN;
|
||||||
|
String? middleNameN;
|
||||||
|
String? lastNameN;
|
||||||
|
int? relationshipID;
|
||||||
|
int? gender;
|
||||||
|
String? dateofBirth;
|
||||||
|
dynamic dateofBirthN;
|
||||||
|
String? nationalityID;
|
||||||
|
dynamic phoneResi;
|
||||||
|
dynamic phoneOffice;
|
||||||
|
String? mobileNumber;
|
||||||
|
dynamic faxNumber;
|
||||||
|
String? emailAddress;
|
||||||
|
dynamic bloodGroup;
|
||||||
|
dynamic rHFactor;
|
||||||
|
bool? isEmailAlertRequired;
|
||||||
|
bool? isSMSAlertRequired;
|
||||||
|
String? preferredLanguage;
|
||||||
|
bool? isPrivilegedMember;
|
||||||
|
dynamic memberID;
|
||||||
|
dynamic expiryDate;
|
||||||
|
dynamic isHmgEmployee;
|
||||||
|
dynamic employeeID;
|
||||||
|
dynamic emergencyContactName;
|
||||||
|
dynamic emergencyContactNo;
|
||||||
|
int? patientPayType;
|
||||||
|
dynamic dHCCPatientRefID;
|
||||||
|
bool? isPatientDummy;
|
||||||
|
int? status;
|
||||||
|
dynamic isStatusCleared;
|
||||||
|
int? patientIdentificationType;
|
||||||
|
String? patientIdentificationNo;
|
||||||
|
int? projectID;
|
||||||
|
int? infoSourceID;
|
||||||
|
dynamic address;
|
||||||
|
int? age;
|
||||||
|
String? ageDesc;
|
||||||
|
int? areaID;
|
||||||
|
int? createdBy;
|
||||||
|
String? genderDescription;
|
||||||
|
dynamic iR;
|
||||||
|
dynamic iSOCityID;
|
||||||
|
dynamic iSOCountryID;
|
||||||
|
ListPrivilege? listPrivilege;
|
||||||
|
dynamic marital;
|
||||||
|
int? outSA;
|
||||||
|
dynamic pOBox;
|
||||||
|
bool? receiveHealthSummaryReport;
|
||||||
|
int? sourceType;
|
||||||
|
dynamic strDateofBirth;
|
||||||
|
dynamic tempAddress;
|
||||||
|
dynamic zipCode;
|
||||||
|
|
||||||
|
List({
|
||||||
|
this.setupID,
|
||||||
|
this.patientType,
|
||||||
|
this.patientID,
|
||||||
|
this.firstName,
|
||||||
|
this.middleName,
|
||||||
|
this.lastName,
|
||||||
|
this.firstNameN,
|
||||||
|
this.middleNameN,
|
||||||
|
this.lastNameN,
|
||||||
|
this.relationshipID,
|
||||||
|
this.gender,
|
||||||
|
this.dateofBirth,
|
||||||
|
this.dateofBirthN,
|
||||||
|
this.nationalityID,
|
||||||
|
this.phoneResi,
|
||||||
|
this.phoneOffice,
|
||||||
|
this.mobileNumber,
|
||||||
|
this.faxNumber,
|
||||||
|
this.emailAddress,
|
||||||
|
this.bloodGroup,
|
||||||
|
this.rHFactor,
|
||||||
|
this.isEmailAlertRequired,
|
||||||
|
this.isSMSAlertRequired,
|
||||||
|
this.preferredLanguage,
|
||||||
|
this.isPrivilegedMember,
|
||||||
|
this.memberID,
|
||||||
|
this.expiryDate,
|
||||||
|
this.isHmgEmployee,
|
||||||
|
this.employeeID,
|
||||||
|
this.emergencyContactName,
|
||||||
|
this.emergencyContactNo,
|
||||||
|
this.patientPayType,
|
||||||
|
this.dHCCPatientRefID,
|
||||||
|
this.isPatientDummy,
|
||||||
|
this.status,
|
||||||
|
this.isStatusCleared,
|
||||||
|
this.patientIdentificationType,
|
||||||
|
this.patientIdentificationNo,
|
||||||
|
this.projectID,
|
||||||
|
this.infoSourceID,
|
||||||
|
this.address,
|
||||||
|
this.age,
|
||||||
|
this.ageDesc,
|
||||||
|
this.areaID,
|
||||||
|
this.createdBy,
|
||||||
|
this.genderDescription,
|
||||||
|
this.iR,
|
||||||
|
this.iSOCityID,
|
||||||
|
this.iSOCountryID,
|
||||||
|
this.listPrivilege,
|
||||||
|
this.marital,
|
||||||
|
this.outSA,
|
||||||
|
this.pOBox,
|
||||||
|
this.receiveHealthSummaryReport,
|
||||||
|
this.sourceType,
|
||||||
|
this.strDateofBirth,
|
||||||
|
this.tempAddress,
|
||||||
|
this.zipCode,
|
||||||
|
});
|
||||||
|
|
||||||
|
List.fromJson(Map<String, dynamic> json) {
|
||||||
|
setupID = json['SetupID'];
|
||||||
|
patientType = json['PatientType'];
|
||||||
|
patientID = json['PatientID'];
|
||||||
|
firstName = json['FirstName'];
|
||||||
|
middleName = json['MiddleName'];
|
||||||
|
lastName = json['LastName'];
|
||||||
|
firstNameN = json['FirstNameN'];
|
||||||
|
middleNameN = json['MiddleNameN'];
|
||||||
|
lastNameN = json['LastNameN'];
|
||||||
|
relationshipID = json['RelationshipID'];
|
||||||
|
gender = json['Gender'];
|
||||||
|
dateofBirth = json['DateofBirth'];
|
||||||
|
dateofBirthN = json['DateofBirthN'];
|
||||||
|
nationalityID = json['NationalityID'];
|
||||||
|
phoneResi = json['PhoneResi'];
|
||||||
|
phoneOffice = json['PhoneOffice'];
|
||||||
|
mobileNumber = json['MobileNumber'];
|
||||||
|
faxNumber = json['FaxNumber'];
|
||||||
|
emailAddress = json['EmailAddress'];
|
||||||
|
bloodGroup = json['BloodGroup'];
|
||||||
|
rHFactor = json['RHFactor'];
|
||||||
|
isEmailAlertRequired = json['IsEmailAlertRequired'];
|
||||||
|
isSMSAlertRequired = json['IsSMSAlertRequired'];
|
||||||
|
preferredLanguage = json['PreferredLanguage'];
|
||||||
|
isPrivilegedMember = json['IsPrivilegedMember'];
|
||||||
|
memberID = json['MemberID'];
|
||||||
|
expiryDate = json['ExpiryDate'];
|
||||||
|
isHmgEmployee = json['IsHmgEmployee'];
|
||||||
|
employeeID = json['EmployeeID'];
|
||||||
|
emergencyContactName = json['EmergencyContactName'];
|
||||||
|
emergencyContactNo = json['EmergencyContactNo'];
|
||||||
|
patientPayType = json['PatientPayType'];
|
||||||
|
dHCCPatientRefID = json['DHCCPatientRefID'];
|
||||||
|
isPatientDummy = json['IsPatientDummy'];
|
||||||
|
status = json['Status'];
|
||||||
|
isStatusCleared = json['IsStatusCleared'];
|
||||||
|
patientIdentificationType = json['PatientIdentificationType'];
|
||||||
|
patientIdentificationNo = json['PatientIdentificationNo'];
|
||||||
|
projectID = json['ProjectID'];
|
||||||
|
infoSourceID = json['InfoSourceID'];
|
||||||
|
address = json['Address'];
|
||||||
|
age = json['Age'];
|
||||||
|
ageDesc = json['AgeDesc'];
|
||||||
|
areaID = json['AreaID'];
|
||||||
|
createdBy = json['CreatedBy'];
|
||||||
|
genderDescription = json['GenderDescription'];
|
||||||
|
iR = json['IR'];
|
||||||
|
iSOCityID = json['ISOCityID'];
|
||||||
|
iSOCountryID = json['ISOCountryID'];
|
||||||
|
if (json['ListPrivilege'] != null) {
|
||||||
|
listPrivilege = ListPrivilege.fromJson(json['ListPrivilege']);
|
||||||
|
}
|
||||||
|
marital = json['Marital'];
|
||||||
|
outSA = json['OutSA'];
|
||||||
|
pOBox = json['POBox'];
|
||||||
|
receiveHealthSummaryReport = json['ReceiveHealthSummaryReport'];
|
||||||
|
sourceType = json['SourceType'];
|
||||||
|
strDateofBirth = json['StrDateofBirth'];
|
||||||
|
tempAddress = json['TempAddress'];
|
||||||
|
zipCode = json['ZipCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['SetupID'] = setupID;
|
||||||
|
data['PatientType'] = patientType;
|
||||||
|
data['PatientID'] = patientID;
|
||||||
|
data['FirstName'] = firstName;
|
||||||
|
data['MiddleName'] = middleName;
|
||||||
|
data['LastName'] = lastName;
|
||||||
|
data['FirstNameN'] = firstNameN;
|
||||||
|
data['MiddleNameN'] = middleNameN;
|
||||||
|
data['LastNameN'] = lastNameN;
|
||||||
|
data['RelationshipID'] = relationshipID;
|
||||||
|
data['Gender'] = gender;
|
||||||
|
data['DateofBirth'] = dateofBirth;
|
||||||
|
data['DateofBirthN'] = dateofBirthN;
|
||||||
|
data['NationalityID'] = nationalityID;
|
||||||
|
data['PhoneResi'] = phoneResi;
|
||||||
|
data['PhoneOffice'] = phoneOffice;
|
||||||
|
data['MobileNumber'] = mobileNumber;
|
||||||
|
data['FaxNumber'] = faxNumber;
|
||||||
|
data['EmailAddress'] = emailAddress;
|
||||||
|
data['BloodGroup'] = bloodGroup;
|
||||||
|
data['RHFactor'] = rHFactor;
|
||||||
|
data['IsEmailAlertRequired'] = isEmailAlertRequired;
|
||||||
|
data['IsSMSAlertRequired'] = isSMSAlertRequired;
|
||||||
|
data['PreferredLanguage'] = preferredLanguage;
|
||||||
|
data['IsPrivilegedMember'] = isPrivilegedMember;
|
||||||
|
data['MemberID'] = memberID;
|
||||||
|
data['ExpiryDate'] = expiryDate;
|
||||||
|
data['IsHmgEmployee'] = isHmgEmployee;
|
||||||
|
data['EmployeeID'] = employeeID;
|
||||||
|
data['EmergencyContactName'] = emergencyContactName;
|
||||||
|
data['EmergencyContactNo'] = emergencyContactNo;
|
||||||
|
data['PatientPayType'] = patientPayType;
|
||||||
|
data['DHCCPatientRefID'] = dHCCPatientRefID;
|
||||||
|
data['IsPatientDummy'] = isPatientDummy;
|
||||||
|
data['Status'] = status;
|
||||||
|
data['IsStatusCleared'] = isStatusCleared;
|
||||||
|
data['PatientIdentificationType'] = patientIdentificationType;
|
||||||
|
data['PatientIdentificationNo'] = patientIdentificationNo;
|
||||||
|
data['ProjectID'] = projectID;
|
||||||
|
data['InfoSourceID'] = infoSourceID;
|
||||||
|
data['Address'] = address;
|
||||||
|
data['Age'] = age;
|
||||||
|
data['AgeDesc'] = ageDesc;
|
||||||
|
data['AreaID'] = areaID;
|
||||||
|
data['CreatedBy'] = createdBy;
|
||||||
|
data['GenderDescription'] = genderDescription;
|
||||||
|
data['IR'] = iR;
|
||||||
|
data['ISOCityID'] = iSOCityID;
|
||||||
|
data['ISOCountryID'] = iSOCountryID;
|
||||||
|
if (listPrivilege != null) {
|
||||||
|
data['ListPrivilege'] = listPrivilege;
|
||||||
|
}
|
||||||
|
data['Marital'] = marital;
|
||||||
|
data['OutSA'] = outSA;
|
||||||
|
data['POBox'] = pOBox;
|
||||||
|
data['ReceiveHealthSummaryReport'] = receiveHealthSummaryReport;
|
||||||
|
data['SourceType'] = sourceType;
|
||||||
|
data['StrDateofBirth'] = strDateofBirth;
|
||||||
|
data['TempAddress'] = tempAddress;
|
||||||
|
data['ZipCode'] = zipCode;
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ListPrivilege {
|
||||||
|
int? iD;
|
||||||
|
String? serviceName;
|
||||||
|
bool? previlege;
|
||||||
|
dynamic region;
|
||||||
|
|
||||||
|
ListPrivilege({this.iD, this.serviceName, this.previlege, this.region});
|
||||||
|
|
||||||
|
ListPrivilege.fromJson(Map<String, dynamic> json) {
|
||||||
|
iD = json['ID'];
|
||||||
|
serviceName = json['ServiceName'];
|
||||||
|
previlege = json['Previlege'];
|
||||||
|
region = json['Region'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
|
data['ID'] = iD;
|
||||||
|
data['ServiceName'] = serviceName;
|
||||||
|
data['Previlege'] = previlege;
|
||||||
|
data['Region'] = region;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,73 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
Map<String, dynamic> selectDeviceByImeiRespModelFromJson(String str) => Map<String, dynamic>.from(json.decode(str));
|
||||||
|
|
||||||
|
String selectDeviceByImeiRespModelToJson(Map<String, dynamic> data) => json.encode(Map<String, dynamic>.from(data));
|
||||||
|
|
||||||
|
class SelectDeviceByImeiRespModelElement {
|
||||||
|
int? id;
|
||||||
|
String? imei;
|
||||||
|
int? logInType;
|
||||||
|
int? patientId;
|
||||||
|
bool? outSa;
|
||||||
|
String? mobile;
|
||||||
|
String? identificationNo;
|
||||||
|
String? name;
|
||||||
|
String? nameN;
|
||||||
|
String? createdOn;
|
||||||
|
String? editedOn;
|
||||||
|
bool? biometricEnabled;
|
||||||
|
int? patientType;
|
||||||
|
int? preferredLanguage;
|
||||||
|
|
||||||
|
SelectDeviceByImeiRespModelElement({
|
||||||
|
this.id,
|
||||||
|
this.imei,
|
||||||
|
this.logInType,
|
||||||
|
this.patientId,
|
||||||
|
this.outSa,
|
||||||
|
this.mobile,
|
||||||
|
this.identificationNo,
|
||||||
|
this.name,
|
||||||
|
this.nameN,
|
||||||
|
this.createdOn,
|
||||||
|
this.editedOn,
|
||||||
|
this.biometricEnabled,
|
||||||
|
this.patientType,
|
||||||
|
this.preferredLanguage,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory SelectDeviceByImeiRespModelElement.fromJson(Map<String, dynamic> json) => SelectDeviceByImeiRespModelElement(
|
||||||
|
id: json["ID"] as int?,
|
||||||
|
imei: json["IMEI"] as String?,
|
||||||
|
logInType: json["LogInType"] as int?,
|
||||||
|
patientId: json["PatientID"] as int?,
|
||||||
|
outSa: json["OutSA"] as bool?,
|
||||||
|
mobile: json["Mobile"] as String?,
|
||||||
|
identificationNo: json["IdentificationNo"] as String?,
|
||||||
|
name: json["Name"] as String?,
|
||||||
|
nameN: json["NameN"] as String?,
|
||||||
|
createdOn: json["CreatedOn"] as String?,
|
||||||
|
editedOn: json["EditedOn"] as String?,
|
||||||
|
biometricEnabled: json["BiometricEnabled"] as bool?,
|
||||||
|
patientType: json["PatientType"] as int?,
|
||||||
|
preferredLanguage: json["PreferredLanguage"] as int?,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"ID": id,
|
||||||
|
"IMEI": imei,
|
||||||
|
"LogInType": logInType,
|
||||||
|
"PatientID": patientId,
|
||||||
|
"OutSA": outSa,
|
||||||
|
"Mobile": mobile,
|
||||||
|
"IdentificationNo": identificationNo,
|
||||||
|
"Name": name,
|
||||||
|
"NameN": nameN,
|
||||||
|
"CreatedOn": createdOn,
|
||||||
|
"EditedOn": editedOn,
|
||||||
|
"BiometricEnabled": biometricEnabled,
|
||||||
|
"PatientType": patientType,
|
||||||
|
"PreferredLanguage": preferredLanguage,
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,77 +0,0 @@
|
|||||||
// To parse this JSON data, do
|
|
||||||
//
|
|
||||||
// final selectDeviceByImeiRespModel = selectDeviceByImeiRespModelFromJson(jsonString);
|
|
||||||
|
|
||||||
import 'dart:convert';
|
|
||||||
|
|
||||||
Map<String, dynamic> selectDeviceByImeiRespModelFromJson(String str) => Map.from(json.decode(str)).map((k, v) => MapEntry<String, dynamic>(k, v));
|
|
||||||
|
|
||||||
String selectDeviceByImeiRespModelToJson(Map<String, dynamic> data) => json.encode(Map.from(data).map((k, v) => MapEntry<String, dynamic>(k, v)));
|
|
||||||
|
|
||||||
class SelectDeviceByImeiRespModelElement {
|
|
||||||
int id;
|
|
||||||
String imei;
|
|
||||||
int logInType;
|
|
||||||
int patientId;
|
|
||||||
bool outSa;
|
|
||||||
String mobile;
|
|
||||||
String identificationNo;
|
|
||||||
String name;
|
|
||||||
String nameN;
|
|
||||||
String createdOn;
|
|
||||||
String editedOn;
|
|
||||||
bool biometricEnabled;
|
|
||||||
int patientType;
|
|
||||||
int preferredLanguage;
|
|
||||||
|
|
||||||
SelectDeviceByImeiRespModelElement({
|
|
||||||
required this.id,
|
|
||||||
required this.imei,
|
|
||||||
required this.logInType,
|
|
||||||
required this.patientId,
|
|
||||||
required this.outSa,
|
|
||||||
required this.mobile,
|
|
||||||
required this.identificationNo,
|
|
||||||
required this.name,
|
|
||||||
required this.nameN,
|
|
||||||
required this.createdOn,
|
|
||||||
required this.editedOn,
|
|
||||||
required this.biometricEnabled,
|
|
||||||
required this.patientType,
|
|
||||||
required this.preferredLanguage,
|
|
||||||
});
|
|
||||||
|
|
||||||
factory SelectDeviceByImeiRespModelElement.fromJson(Map<String, dynamic> json) => SelectDeviceByImeiRespModelElement(
|
|
||||||
id: json["ID"],
|
|
||||||
imei: json["IMEI"],
|
|
||||||
logInType: json["LogInType"],
|
|
||||||
patientId: json["PatientID"],
|
|
||||||
outSa: json["OutSA"],
|
|
||||||
mobile: json["Mobile"],
|
|
||||||
identificationNo: json["IdentificationNo"],
|
|
||||||
name: json["Name"],
|
|
||||||
nameN: json["NameN"],
|
|
||||||
createdOn: json["CreatedOn"],
|
|
||||||
editedOn: json["EditedOn"],
|
|
||||||
biometricEnabled: json["BiometricEnabled"],
|
|
||||||
patientType: json["PatientType"],
|
|
||||||
preferredLanguage: json["PreferredLanguage"],
|
|
||||||
);
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => {
|
|
||||||
"ID": id,
|
|
||||||
"IMEI": imei,
|
|
||||||
"LogInType": logInType,
|
|
||||||
"PatientID": patientId,
|
|
||||||
"OutSA": outSa,
|
|
||||||
"Mobile": mobile,
|
|
||||||
"IdentificationNo": identificationNo,
|
|
||||||
"Name": name,
|
|
||||||
"NameN": nameN,
|
|
||||||
"CreatedOn": createdOn,
|
|
||||||
"EditedOn": editedOn,
|
|
||||||
"BiometricEnabled": biometricEnabled,
|
|
||||||
"PatientType": patientType,
|
|
||||||
"PreferredLanguage": preferredLanguage,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -0,0 +1,127 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/app_assets.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/utils/utils.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/theme/colors.dart';
|
||||||
|
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
|
||||||
|
|
||||||
|
class HabibWalletCard extends StatelessWidget {
|
||||||
|
const HabibWalletCard({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
"My Balance".toText16(isBold: true),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
"View all services".toText12(color: AppColors.primaryRedColor),
|
||||||
|
SizedBox(width: 2.h),
|
||||||
|
Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 10.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
Container(
|
||||||
|
// height: 150.h,
|
||||||
|
width: double.infinity,
|
||||||
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
||||||
|
color: AppColors.whiteColor,
|
||||||
|
borderRadius: 24,
|
||||||
|
),
|
||||||
|
child: Stack(children: [
|
||||||
|
Positioned(
|
||||||
|
right: 0,
|
||||||
|
child: ClipRRect(borderRadius: BorderRadius.circular(24.0), child: Utils.buildSvgWithAssets(icon: AppAssets.habib_background_icon, width: 150.h, height: 150.h)),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(14.h),
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
"Habib Wallet".toText15(isBold: true),
|
||||||
|
Container(
|
||||||
|
height: 40.h,
|
||||||
|
width: 40.h,
|
||||||
|
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
|
||||||
|
color: AppColors.textColor,
|
||||||
|
borderRadius: 8.h,
|
||||||
|
),
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.all(8.h),
|
||||||
|
child: Utils.buildSvgWithAssets(
|
||||||
|
icon: AppAssets.show_icon,
|
||||||
|
width: 12.h,
|
||||||
|
height: 12.h,
|
||||||
|
fit: BoxFit.contain,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
SizedBox(height: 4.h),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Utils.buildSvgWithAssets(
|
||||||
|
icon: AppAssets.saudi_riyal_icon,
|
||||||
|
iconColor: AppColors.dividerColor,
|
||||||
|
width: 24.h,
|
||||||
|
height: 24.h,
|
||||||
|
fit: BoxFit.contain,
|
||||||
|
),
|
||||||
|
SizedBox(width: 8.h),
|
||||||
|
"200.18".toText32(isBold: true),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 50.h),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
"View details".toText12(color: AppColors.primaryRedColor),
|
||||||
|
SizedBox(width: 2.h),
|
||||||
|
Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 10.h),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(height: 16.h),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 150.h,
|
||||||
|
child: Utils.getPaymentMethods(),
|
||||||
|
),
|
||||||
|
CustomButton(
|
||||||
|
icon: AppAssets.recharge_icon,
|
||||||
|
iconSize: 18.h,
|
||||||
|
text: "Recharge",
|
||||||
|
onPressed: () {},
|
||||||
|
backgroundColor: AppColors.infoColor,
|
||||||
|
borderColor: AppColors.infoColor,
|
||||||
|
textColor: AppColors.whiteColor,
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
borderRadius: 12,
|
||||||
|
padding: EdgeInsets.fromLTRB(10, 0, 10, 0),
|
||||||
|
height: 35.h,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,79 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:hmg_patient_app_new/extensions/route_extensions.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/navigation_service.dart';
|
||||||
|
|
||||||
|
abstract class DialogService {
|
||||||
|
Future<void> showErrorDialog({required String message, Function()? onOkPressed});
|
||||||
|
}
|
||||||
|
|
||||||
|
class DialogServiceImp implements DialogService {
|
||||||
|
final NavigationService navigationService;
|
||||||
|
|
||||||
|
DialogServiceImp({required this.navigationService});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> showErrorDialog({required String message, Function()? onOkPressed}) async {
|
||||||
|
final context = navigationService.navigatorKey.currentContext;
|
||||||
|
if (context == null) return;
|
||||||
|
|
||||||
|
await showModalBottomSheet(
|
||||||
|
context: context,
|
||||||
|
isScrollControlled: false,
|
||||||
|
shape: const RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
|
||||||
|
),
|
||||||
|
builder: (_) => _ErrorBottomSheet(message: message, onOkPressed: onOkPressed),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ErrorBottomSheet extends StatelessWidget {
|
||||||
|
final String message;
|
||||||
|
final Function()? onOkPressed;
|
||||||
|
|
||||||
|
const _ErrorBottomSheet({required this.message, this.onOkPressed});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.error_outline, color: Colors.red, size: 40),
|
||||||
|
const SizedBox(height: 12),
|
||||||
|
Text(
|
||||||
|
"Error",
|
||||||
|
style: Theme.of(context).textTheme.titleLarge?.copyWith(
|
||||||
|
color: Colors.red,
|
||||||
|
fontWeight: FontWeight.bold,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Text(
|
||||||
|
message,
|
||||||
|
textAlign: TextAlign.center,
|
||||||
|
style: Theme.of(context).textTheme.bodyMedium,
|
||||||
|
),
|
||||||
|
const SizedBox(height: 16),
|
||||||
|
ElevatedButton(
|
||||||
|
onPressed: () {
|
||||||
|
if (onOkPressed != null) {
|
||||||
|
onOkPressed!();
|
||||||
|
} else {
|
||||||
|
context.pop();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: Colors.red,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: const Text("OK"),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:hmg_patient_app_new/core/exceptions/api_exception.dart';
|
||||||
|
import 'package:hmg_patient_app_new/core/exceptions/api_failure.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/dialog_service.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/logger_service.dart';
|
||||||
|
import 'package:hmg_patient_app_new/services/navigation_service.dart';
|
||||||
|
|
||||||
|
abstract class ErrorHandlerService {
|
||||||
|
Future<void> handleError({required Failure failure, Function() onOkPressed});
|
||||||
|
}
|
||||||
|
|
||||||
|
class ErrorHandlerServiceImp implements ErrorHandlerService {
|
||||||
|
final DialogService dialogService;
|
||||||
|
final LoggerService loggerService;
|
||||||
|
final NavigationService navigationService;
|
||||||
|
|
||||||
|
ErrorHandlerServiceImp({
|
||||||
|
required this.dialogService,
|
||||||
|
required this.loggerService,
|
||||||
|
required this.navigationService,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> handleError({required Failure failure, Function()? onOkPressed}) async {
|
||||||
|
if (failure is APIException) {
|
||||||
|
loggerService.errorLogs("API Exception: ${failure.message}");
|
||||||
|
} else if (failure is ServerFailure) {
|
||||||
|
loggerService.errorLogs("Server Failure: ${failure.message}");
|
||||||
|
await _showDialog(failure);
|
||||||
|
} else if (failure is DataParsingFailure) {
|
||||||
|
loggerService.errorLogs("Data Parsing Failure: ${failure.message}");
|
||||||
|
await _showDialog(failure, title: "Data Error");
|
||||||
|
} else if (failure is StatusCodeFailure) {
|
||||||
|
loggerService.errorLogs("StatusCode Failure: ${failure.message}");
|
||||||
|
await _showDialog(failure, title: "Status Code Failure Error");
|
||||||
|
} else if (failure is HttpException) {
|
||||||
|
loggerService.errorLogs("Http Exception: ${failure.message}");
|
||||||
|
await _showDialog(failure, title: "Network Error");
|
||||||
|
} else if (failure is UnknownFailure) {
|
||||||
|
loggerService.errorLogs("Unknown Failure: ${failure.message}");
|
||||||
|
await _showDialog(failure, title: "Unknown Error");
|
||||||
|
} else if (failure is InvalidCredentials) {
|
||||||
|
loggerService.errorLogs("Invalid Credentials : ${failure.message}");
|
||||||
|
await _showDialog(failure, title: "Unknown Error");
|
||||||
|
} else {
|
||||||
|
loggerService.errorLogs("Unhandled failure type: $failure");
|
||||||
|
await _showDialog(failure, title: "Error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _showDialog(Failure failure, {String title = "Error", Function()? onOkPressed}) async {
|
||||||
|
await dialogService.showErrorDialog(message: failure.message, onOkPressed: onOkPressed);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class NavigationService {
|
||||||
|
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||||
|
|
||||||
|
BuildContext? get context => navigatorKey.currentContext;
|
||||||
|
|
||||||
|
Future<T?> push<T>(Route<T> route) {
|
||||||
|
return navigatorKey.currentState!.push(route);
|
||||||
|
}
|
||||||
|
|
||||||
|
void pop<T extends Object?>([T? result]) {
|
||||||
|
navigatorKey.currentState!.pop(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue