import 'package:doctor_app_flutter/config/config.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/CheckActivationCodeModel.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/CheckPatientForRegistrationModel.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/GetPatientInfoRequestModel.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/GetPatientInfoResponseModel.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/PatientRegistrationModel.dart'; import 'package:doctor_app_flutter/core/model/PatientRegistration/SendActivationCodebyOTPNotificationTypeForRegistrationModel.dart'; import 'package:doctor_app_flutter/core/service/base/base_service.dart'; import 'package:doctor_app_flutter/core/viewModel/PatientRegistrationViewModel.dart'; class PatientRegistrationService extends BaseService { late GetPatientInfoResponseModel getPatientInfoResponseModel; late String logInTokenID; checkPatientForRegistration( CheckPatientForRegistrationModel registrationModel) async { hasError = false; await baseAppClient.post(CHECK_PATIENT_FOR_REGISTRATION, onSuccess: (dynamic response, int statusCode) { //TODO Elham* fix it logInTokenID = "OjEi/qgRekGICZm5/a4jbQ=="; //response["LogInTokenID"]; }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: registrationModel.toJson()); } getPatientInfo(GetPatientInfoRequestModel getPatientInfoRequestMode) async { hasError = false; await baseAppClient.post(GET_PATIENT_INFO, onSuccess: (dynamic response, int statusCode) { getPatientInfoResponseModel = GetPatientInfoResponseModel.fromJson(response); print("ddd"); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: getPatientInfoRequestMode.toJson()); } sendActivationCodeByOTPNotificationType( { required int otpType, required PatientRegistrationViewModel model, required CheckPatientForRegistrationModel checkPatientForRegistrationModel}) async { SendActivationCodeByOTPNotificationTypeForRegistrationModel registrationModel = SendActivationCodeByOTPNotificationTypeForRegistrationModel( oTPSendType: otpType, patientIdentificationID: checkPatientForRegistrationModel .patientIdentificationID, patientMobileNumber: checkPatientForRegistrationModel .patientMobileNumber, zipCode: checkPatientForRegistrationModel.zipCode, patientOutSA: 0, healthId: model.getPatientInfoResponseModel.healthId, dOB: checkPatientForRegistrationModel.dOB, isRegister: checkPatientForRegistrationModel.isRegister, isHijri: checkPatientForRegistrationModel.isHijri, sessionID: null, generalid: GENERAL_ID, isDentalAllowedBackend: false, projectOutSA: 0, searchType: 1, versionID: 7.1, channel: 3, nationalID: model.checkPatientForRegistrationModel.patientIdentificationID, patientID: 0, mobileNo: model.checkPatientForRegistrationModel.patientMobileNumber .toString(), loginType: otpType, logInTokenID: logInTokenID); hasError = false; await baseAppClient.post(SEND_ACTIVATION_CODE_BY_OTP_NOT_TYPE_FOR_REGISTRATION, onSuccess: (dynamic response, int statusCode) { registrationModel = SendActivationCodeByOTPNotificationTypeForRegistrationModel.fromJson( response); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: registrationModel.toJson()); } checkActivationCode(CheckActivationCodeModel registrationModel) async { hasError = false; await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_PATIENT, onSuccess: (dynamic response, int statusCode) { registrationModel = CheckActivationCodeModel.fromJson(response); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: registrationModel.toJson()); } registrationPatient(PatientRegistrationModel registrationModel) async { hasError = false; await baseAppClient.post(PATIENT_REGISTRATION, onSuccess: (dynamic response, int statusCode) {}, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: registrationModel.toJson()); } }