From 514fb71c5140f4f3e9d4573c0c5cebb2a82ec7c5 Mon Sep 17 00:00:00 2001 From: Elham Rababh Date: Wed, 3 Nov 2021 09:33:28 +0200 Subject: [PATCH] mock the calling the second service --- .../PatientRegistrationViewModel.dart | 108 ++++- .../RegisterConfirmationPatientPage.dart | 22 +- .../register_patient/RegisterPatientPage.dart | 2 +- .../RegisterSearchPatientPage.dart | 378 +++++++++--------- 4 files changed, 301 insertions(+), 209 deletions(-) diff --git a/lib/core/viewModel/PatientRegistrationViewModel.dart b/lib/core/viewModel/PatientRegistrationViewModel.dart index 93442120..03f2413b 100644 --- a/lib/core/viewModel/PatientRegistrationViewModel.dart +++ b/lib/core/viewModel/PatientRegistrationViewModel.dart @@ -17,12 +17,11 @@ class PatientRegistrationViewModel extends BaseViewModel { GetPatientInfoResponseModel get getPatientInfoResponseModel =>_patientRegistrationService.getPatientInfoResponseModel; - CheckPatientForRegistrationModel checkPatientForRegistrationModel ; Future checkPatientForRegistration( CheckPatientForRegistrationModel registrationModel) async { - checkPatientForRegistrationModel =registrationModel; + checkPatientForRegistrationModel =CheckPatientForRegistrationModel.fromJson(registrationModel.toJson()); setState(ViewState.BusyLocal); await _patientRegistrationService .checkPatientForRegistration(registrationModel); @@ -36,13 +35,104 @@ class PatientRegistrationViewModel extends BaseViewModel { Future getPatientInfo( GetPatientInfoRequestModel getPatientInfoRequestModel) async { setState(ViewState.BusyLocal); - await _patientRegistrationService. - getPatientInfo(getPatientInfoRequestModel); - if (_patientRegistrationService.hasError) { - error = _patientRegistrationService.error; - setState(ViewState.ErrorLocal); - } else - setState(ViewState.Idle); + /// TODO Elham* return call service when it working + _patientRegistrationService.getPatientInfoResponseModel = GetPatientInfoResponseModel.fromJson({ + "Date": null, + "LanguageID": 0, + "ServiceName": 0, + "Time": null, + "AndroidLink": null, + "AuthenticationTokenID": null, + "Data": null, + "Dataw": false, + "DietType": 0, + "ErrorCode": null, + "ErrorEndUserMessage": null, + "ErrorEndUserMessageN": null, + "ErrorMessage": null, + "ErrorType": 0, + "FoodCategory": 0, + "IOSLink": null, + "IsAuthenticated": false, + "MealOrderStatus": 0, + "MealType": 0, + "MessageStatus": 1, + "NumberOfResultRecords": 0, + "PatientBlodType": null, + "SuccessMsg": null, + "SuccessMsgN": null, + "VidaUpdatedResponse": null, + "AccessTokenObject": null, + "Age": 33, + "ClientIdentifierId": null, + "CreatedBy": 0, + "DateOfBirth": "07/31/1988", + "FirstNameAr": "سفيان", + "FirstNameEn": "SUFIAN", + "Gender": "M", + "GenderAr": null, + "GenderEn": null, + "HealthId": "30000018540264", + "IdNumber": "1062938285", + "IdType": "NationalId", + "IsHijri": false, + "IsInstertedOrUpdated": 0, + "IsNull": 0, + "IsPatientExistNHIC": 0, + "IsRecordLockedByCurrentUser": false, + "LastNameAr": "عثمان", + "LastNameEn": "OTHMAN", + "List_ActiveAccessToken": null, + "MaritalStatus": "غير معروف", + "MaritalStatusCode": "U", + "NationalDateOfBirth": "18/12/1408", + "Nationality": "السعودية", + "NationalityCode": "SAU", + "Occupation": "طالب", + "PCDTransactionDataResultList": null, + "PCD_GetVidaPatientForManualVerificationList": null, + "PCD_NHIC_HMG_PatientDetailsMatchCalulationList": null, + "PCD_ReturnValue": 0, + "PatientStatus": "-", + "PlaceofBirth": "فينا", + "PractitionerStatusCode": null, + "PractitionerStatusDescAr": null, + "PractitionerStatusDescEn": null, + "RowCount": 0, + "SecondNameAr": "عبدالهادي", + "SecondNameEn": "ABDULHADI", + "ThirdNameAr": "احمد", + "ThirdNameEn": "A", + "YakeenVidaPatientDataStatisticsByPatientIdList": null, + "YakeenVidaPatientDataStatisticsList": null, + "YakeenVidaPatientDataStatisticsPrefferedList": null, + "accessToken": null, + "categoryCode": 0, + "categoryNameAr": null, + "categoryNameEn": null, + "constraintCode": 0, + "constraintNameAr": null, + "constraintNameEn": null, + "content": null, + "errorList": null, + "licenseExpiryDate": null, + "licenseIssuedDate": null, + "licenseStatusCode": null, + "licenseStatusDescAr": null, + "licenseStatusDescEn": null, + "organizations": null, + "registrationNumber": null, + "specialtyCode": 0, + "specialtyNameAr": null, + "specialtyNameEn": null + }); + // await _patientRegistrationService. + // getPatientInfo(getPatientInfoRequestModel); + // if (_patientRegistrationService.hasError) { + // error = _patientRegistrationService.error; + // setState(ViewState.ErrorLocal); + // } else + // setState(ViewState.Idle); } Future sendActivationCodeByOTPNotificationType( diff --git a/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart b/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart index 9fb9aeec..afc3e5bd 100644 --- a/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterConfirmationPatientPage.dart @@ -56,11 +56,10 @@ class _RegisterConfirmationPatientPageState extends State { bool isSubmitted = false; ProjectViewModel projectViewModel; - TextEditingController firstName = TextEditingController(text: "Elham"); - TextEditingController middleName = TextEditingController(text: "Ali"); - TextEditingController lastName = TextEditingController(text: "Rababah"); - TextEditingController emailAddressController = - TextEditingController(text: "Elham@Rababah.com"); + TextEditingController firstName; + TextEditingController middleName ; + TextEditingController lastName; + TextEditingController emailAddressController; @override @@ -132,7 +131,7 @@ class _RegisterConfirmationPatientPageState fontSize: 12, color: Colors.black), AppText( - "123456", + "${widget.model.getPatientInfoResponseModel.healthId}", fontSize: 12, color: Colors.grey[600], ), @@ -148,7 +147,8 @@ class _RegisterConfirmationPatientPageState fontSize: 12, color: Colors.black), AppText( - "ss", + "${widget.model.getPatientInfoResponseModel.idNumber}", + fontSize: 12, color: Colors.grey[600], ), @@ -176,7 +176,7 @@ class _RegisterConfirmationPatientPageState fontSize: 12, color: Colors.black), AppText( - "Jordanian", + "${widget.model.getPatientInfoResponseModel.nationality}", fontSize: 12, color: Colors.grey[600], ), @@ -192,7 +192,8 @@ class _RegisterConfirmationPatientPageState fontSize: 12, color: Colors.black), AppText( - "--", + "${widget.model.getPatientInfoResponseModel.occupation}", + fontSize: 12, color: Colors.grey[600], ), @@ -220,7 +221,8 @@ class _RegisterConfirmationPatientPageState fontSize: 12, color: Colors.black), AppText( - "075XXXXXX", + "${widget.model.checkPatientForRegistrationModel.patientMobileNumber}", + fontSize: 12, color: Colors.grey[600], ), diff --git a/lib/screens/patients/register_patient/RegisterPatientPage.dart b/lib/screens/patients/register_patient/RegisterPatientPage.dart index 687b231d..55c27fb4 100644 --- a/lib/screens/patients/register_patient/RegisterPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterPatientPage.dart @@ -98,7 +98,7 @@ class _RegisterPatientPageState extends State }, scrollDirection: Axis.horizontal, children: [ - RegisterSearchPatientPage(changePageViewIndex: changePageViewIndex,), + RegisterSearchPatientPage(changePageViewIndex: changePageViewIndex,model: model), RegisterConfirmationPatientPage(model: model,), ]), diff --git a/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart b/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart index 756970f9..98ac704e 100644 --- a/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart +++ b/lib/screens/patients/register_patient/RegisterSearchPatientPage.dart @@ -22,8 +22,10 @@ import 'package:flutter/material.dart'; class RegisterSearchPatientPage extends StatefulWidget { final Function changePageViewIndex; + final PatientRegistrationViewModel model; - const RegisterSearchPatientPage({Key key, this.changePageViewIndex}) + + const RegisterSearchPatientPage({Key key, this.changePageViewIndex, this.model}) : super(key: key); @override @@ -50,41 +52,40 @@ class _RegisterSearchPatientPageState extends State { Widget build(BuildContext context) { final screenSize = MediaQuery.of(context).size; - return BaseView( - builder: (_, model, w) => AppScaffold( - baseViewModel: model, - isShowAppBar: false, - body: Column( - children: [ - Expanded( - child: Container( - width: double.infinity, - margin: EdgeInsets.all(16.0), - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - "Please enter mobile number or Identification number", - fontFamily: 'Poppins', - fontSize: SizeConfig.textMultiplier * 2.2, - fontWeight: FontWeight.w800, - ), - SizedBox( - height: 10, - ), - AppTextFieldCustom( - height: screenSize.height * 0.075, - hintText: "Country", - isTextFieldHasSuffix: true, - validationError: countryError, - dropDownText: _selectedCountry != null - ? _selectedCountry['nameEn'] - : "Saudi Arabia", - enabled: false, - /*onClick: model.dietTypesList != null && model.dietTypesList.length > 0 + return AppScaffold( + baseViewModel: widget.model, + isShowAppBar: false, + body: Column( + children: [ + Expanded( + child: Container( + width: double.infinity, + margin: EdgeInsets.all(16.0), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + "Please enter mobile number or Identification number", + fontFamily: 'Poppins', + fontSize: SizeConfig.textMultiplier * 2.2, + fontWeight: FontWeight.w800, + ), + SizedBox( + height: 10, + ), + AppTextFieldCustom( + height: screenSize.height * 0.075, + hintText: "Country", + isTextFieldHasSuffix: true, + validationError: countryError, + dropDownText: _selectedCountry != null + ? _selectedCountry['nameEn'] + : "Saudi Arabia", + enabled: false, + /*onClick: widget.model.dietTypesList != null && widget.model.dietTypesList.length > 0 ? () { - openListDialogField('nameEn', 'id', model.dietTypesList, (selectedValue) { + openListDialogField('nameEn', 'id', widget.model.dietTypesList, (selectedValue) { setState(() { _selectedCountry = selectedValue; }); @@ -95,185 +96,184 @@ class _RegisterSearchPatientPageState extends State { await model .getDietTypes(patient.patientId) .then((_) => GifLoaderDialogUtils.hideDialog(context)); - if (model.state == ViewState.Idle && model.dietTypesList.length > 0) { - openListDialogField('nameEn', 'id', model.dietTypesList, (selectedValue) { + if (widget.model.state == ViewState.Idle && widget.model.dietTypesList.length > 0) { + openListDialogField('nameEn', 'id', widget.model.dietTypesList, (selectedValue) { setState(() { _selectedCountry = selectedValue; }); }); - } else if (model.state == ViewState.ErrorLocal) { - DrAppToastMsg.showErrorToast(model.error); + } else if (widget.model.state == ViewState.ErrorLocal) { + DrAppToastMsg.showErrorToast(widget.model.error); } else { DrAppToastMsg.showErrorToast("Empty List"); } },*/ - ), - SizedBox( - height: 10, - ), - Row( - children: [ - Container( - width: MediaQuery.of(context).size.width * 0.3, + ), + SizedBox( + height: 10, + ), + Row( + children: [ + Container( + width: MediaQuery.of(context).size.width * 0.3, + child: AppTextFieldCustom( + height: screenSize.height * 0.075, + hintText: "Code", + inputType: TextInputType.phone, + controller: _phoneCode, + validationError: phoneError, + ), + ), + Expanded( + child: Container( + // width: MediaQuery.of(context).size.width*0.7, child: AppTextFieldCustom( height: screenSize.height * 0.075, - hintText: "Code", + hintText: "Phone Number", inputType: TextInputType.phone, - controller: _phoneCode, + controller: _phoneController, validationError: phoneError, ), ), - Expanded( - child: Container( - // width: MediaQuery.of(context).size.width*0.7, - child: AppTextFieldCustom( - height: screenSize.height * 0.075, - hintText: "Phone Number", - inputType: TextInputType.phone, - controller: _phoneController, - validationError: phoneError, - ), - ), - ), - ], - ), - SizedBox( - height: 10, - ), - AppTextFieldCustom( - height: screenSize.height * 0.075, - hintText: "ID Number", - inputType: TextInputType.phone, - controller: _idController, - validationError: idError, - ), - SizedBox( - height: 12, - ), - AppText( - "Calender", - fontSize: SizeConfig.textMultiplier * 1.8, - fontWeight: FontWeight.w800, - ), - SizedBox( - height: 10, - ), - AppTextFieldCustom( - height: screenSize.height * 0.075, - hintText: "Birthdate", - dropDownText: _birthDate != null - ? "${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "yyyy/MM/dd")}" - : null, - enabled: false, - isTextFieldHasSuffix: true, - validationError: birthdateError, - suffixIcon: IconButton( - icon: Icon( - Icons.calendar_today, - color: Colors.black, - ), - onPressed: null, ), - onClick: () { - if (_birthDate == null) { - _birthDate = DateTime.now(); - } - _selectDate(context, _birthDate, (picked) { - setState(() { - _birthDate = picked; - }); - }); - }, + ], + ), + SizedBox( + height: 10, + ), + AppTextFieldCustom( + height: screenSize.height * 0.075, + hintText: "ID Number", + inputType: TextInputType.phone, + controller: _idController, + validationError: idError, + ), + SizedBox( + height: 12, + ), + AppText( + "Calender", + fontSize: SizeConfig.textMultiplier * 1.8, + fontWeight: FontWeight.w800, + ), + SizedBox( + height: 10, + ), + AppTextFieldCustom( + height: screenSize.height * 0.075, + hintText: "Birthdate", + dropDownText: _birthDate != null + ? "${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "yyyy/MM/dd")}" + : null, + enabled: false, + isTextFieldHasSuffix: true, + validationError: birthdateError, + suffixIcon: IconButton( + icon: Icon( + Icons.calendar_today, + color: Colors.black, + ), + onPressed: null, ), - ], - ), + onClick: () { + if (_birthDate == null) { + _birthDate = DateTime.now(); + } + _selectDate(context, _birthDate, (picked) { + setState(() { + _birthDate = picked; + }); + }); + }, + ), + ], ), ), ), - ], - ), - bottomSheet: Container( - height: 60, - margin: EdgeInsets.symmetric(vertical: 16, horizontal: 16), - child: Row( - children: [ - Expanded( - child: Container( - child: AppButton( - title: TranslationBase.of(context).cancel, - hasBorder: true, - vPadding: 12, - hPadding: 8, - borderColor: Color(0xFFeaeaea), - color: Color(0xFFeaeaea), - fontColor: Colors.black, - fontSize: 2.2, - onPressed: () { - Navigator.of(context).pop(); - }, - ), + ), + ], + ), + bottomSheet: Container( + height: 60, + margin: EdgeInsets.symmetric(vertical: 16, horizontal: 16), + child: Row( + children: [ + Expanded( + child: Container( + child: AppButton( + title: TranslationBase.of(context).cancel, + hasBorder: true, + vPadding: 12, + hPadding: 8, + borderColor: Color(0xFFeaeaea), + color: Color(0xFFeaeaea), + fontColor: Colors.black, + fontSize: 2.2, + onPressed: () { + Navigator.of(context).pop(); + }, ), ), - SizedBox( - width: 8, - ), - Expanded( - child: Container( - child: AppButton( - title: TranslationBase.of(context).next, - hasBorder: true, - vPadding: 12, - hPadding: 8, - borderColor: Color(0xFFB8382B), - color: Color(0xFFB8382B), - fontColor: Colors.white, - fontSize: 2.0, - onPressed: () async { - GifLoaderDialogUtils.showMyDialog(context); - CheckPatientForRegistrationModel - checkPatientForRegistrationModel = - CheckPatientForRegistrationModel( - patientIdentificationID: - int.parse(_idController.text), - patientMobileNumber: - int.parse(_phoneController.text), - zipCode: _phoneCode.text, - isHijri: 0, - patientID: 0, - isRegister: false, - isDentalAllowedBackend: false, - patientOutSA: 0, - generalid: GENERAL_ID, - dOB: - "${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "yyyy/MM/dd")}"); - await model.checkPatientForRegistration( - checkPatientForRegistrationModel); - GetPatientInfoRequestModel getPatientInfoRequestModel = - GetPatientInfoRequestModel( - //TODO Elham* this return the static to dynamic - patientIdentificationID:"1062938285", //_idController.text, - isHijri: 0, - isDentalAllowedBackend: false, - patientOutSA: 0, - generalid: GENERAL_ID, - sessionID: null, - dOB:"31/07/1988",//"${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "dd/MM/yyyy")}" + ), + SizedBox( + width: 8, + ), + Expanded( + child: Container( + child: AppButton( + title: TranslationBase.of(context).next, + hasBorder: true, + vPadding: 12, + hPadding: 8, + borderColor: Color(0xFFB8382B), + color: Color(0xFFB8382B), + fontColor: Colors.white, + fontSize: 2.0, + onPressed: () async { + GifLoaderDialogUtils.showMyDialog(context); + CheckPatientForRegistrationModel + checkPatientForRegistrationModel = + CheckPatientForRegistrationModel( + patientIdentificationID: + int.parse(_idController.text), + patientMobileNumber: + int.parse(_phoneController.text), + zipCode: _phoneCode.text, + isHijri: 0, + patientID: 0, + isRegister: false, + isDentalAllowedBackend: false, + patientOutSA: 0, + generalid: GENERAL_ID, + dOB: + "${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "yyyy/MM/dd")}"); + await widget.model.checkPatientForRegistration( + checkPatientForRegistrationModel); + GetPatientInfoRequestModel getPatientInfoRequestModel = + GetPatientInfoRequestModel( + //TODO Elham* this return the static to dynamic + patientIdentificationID:"1062938285", //_idController.text, + isHijri: 0, + isDentalAllowedBackend: false, + patientOutSA: 0, + generalid: GENERAL_ID, + sessionID: null, + dOB:"31/07/1988",//"${AppDateUtils.convertStringToDateFormat(_birthDate.toString(), "dd/MM/yyyy")}" - ); - await model.getPatientInfo(getPatientInfoRequestModel); - if (model.state == ViewState.ErrorLocal) { - Helpers.showErrorToast(model.error); - } else { - widget.changePageViewIndex(1); - } + ); + await widget.model.getPatientInfo(getPatientInfoRequestModel); + if (widget.model.state == ViewState.ErrorLocal) { + Helpers.showErrorToast(widget.model.error); + } else { + widget.changePageViewIndex(1); + } - GifLoaderDialogUtils.hideDialog(context); - }, - ), + GifLoaderDialogUtils.hideDialog(context); + }, ), ), - ], - ), + ), + ], ), ), );