diff --git a/lib/core/service/AlHabibMedicalService/e_referral_service.dart b/lib/core/service/AlHabibMedicalService/e_referral_service.dart index 6e8da51b..c951a968 100644 --- a/lib/core/service/AlHabibMedicalService/e_referral_service.dart +++ b/lib/core/service/AlHabibMedicalService/e_referral_service.dart @@ -11,14 +11,18 @@ import 'package:diplomaticquarterapp/core/service/base_service.dart'; class EReferralService extends BaseService { List _relationTypes = List(); + List get relationTypes => _relationTypes; List _allCities = List(); + List get allCities => _allCities; List _allProjects = List(); + List get allProjects => _allProjects; List _allReferral = List(); + List get allReferral => _allReferral; String _activationCode; String _logInTokenID; @@ -46,33 +50,30 @@ class EReferralService extends BaseService { Future getAllCities() async { await baseAppClient.post(GET_ALL_CITIES, onSuccess: (dynamic response, int statusCode) { - _allCities.clear(); - response['ListCities'].forEach((city) { - _allCities - .add(GetAllCitiesResponseModel.fromJson(city)); - }); - }, onFailure: (String error, int statusCode) { - hasError = true; - super.error = error; - }, body: {}); + _allCities.clear(); + response['ListCities'].forEach((city) { + _allCities.add(GetAllCitiesResponseModel.fromJson(city)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: {}); } Future getAllProjects() async { await baseAppClient.post(GET_PROJECT, onSuccess: (dynamic response, int statusCode) { - _allProjects.clear(); - response['ListProject'].forEach((city) { - _allProjects - .add(GetAllProjectsResponseModel.fromJson(city)); - }); - }, onFailure: (String error, int statusCode) { - hasError = true; - super.error = error; - }, body: {}); + _allProjects.clear(); + response['ListProject'].forEach((city) { + _allProjects.add(GetAllProjectsResponseModel.fromJson(city)); + }); + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: {}); } Future sendActivationCodeForEReferral( - SendActivationCodeForEReferralRequestModel sendActivationCodeForEReferralRequestModel) async { hasError = false; @@ -81,24 +82,21 @@ class EReferralService extends BaseService { print(response["VerificationCode"]); _activationCode = response["VerificationCode"]; _logInTokenID = response["LogInTokenID"]; - }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: sendActivationCodeForEReferralRequestModel.toJson()); } - - Future checkActivationCodeForEReferral( CheckActivationCodeForEReferralResponseModel checkActivationCodeForEReferralRequestModel) async { checkActivationCodeForEReferralRequestModel.isDentalAllowedBackend = false; - checkActivationCodeForEReferralRequestModel.logInTokenID= _logInTokenID; - hasError =false; + checkActivationCodeForEReferralRequestModel.logInTokenID = _logInTokenID; + hasError = false; await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_E_REFERRAL, onSuccess: (dynamic response, int statusCode) { - _isActivationCodeValid = true; + _isActivationCodeValid = true; }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; @@ -106,40 +104,36 @@ class EReferralService extends BaseService { } Future createEReferral( - CreateEReferralRequestModel createEReferralRequestModel - ) async { - hasError = false; - dynamic localRes; - await baseAppClient.post(CREATE_E_REFERRAL/*'Services/Patients.svc/REST/CreateEReferral'*/, + CreateEReferralRequestModel createEReferralRequestModel) async { + hasError = false; + dynamic localRes; + await baseAppClient.post( + CREATE_E_REFERRAL /*'Services/Patients.svc/REST/CreateEReferral'*/, onSuccess: (dynamic response, int statusCode) { - // TODO Waiting for fix service - localRes = response; - }, onFailure: (String error, int statusCode) { - hasError = true; - super.error = error; - }, body: createEReferralRequestModel.toJson()); - return Future.value(localRes); + // TODO Waiting for fix service + localRes = response; + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: createEReferralRequestModel.toJson()); + return Future.value(localRes); } Future getEReferrals( - SearchEReferralRequestModel searchEReferralRequestModel - ) async { + SearchEReferralRequestModel searchEReferralRequestModel) async { hasError = false; - // TODO return this code when the fix the server - // await baseAppClient.post(GET_E_REFERRALS, - // onSuccess: (dynamic response, int statusCode) { - // print("EEEEEE"); - // // TODO Waiting for fix service - // // ToDo change this one when you have data - // _allReferral.clear(); - // // response['ListCities'].forEach((city) { - // // _allReferral - // // .add(SearchEReferralResponseModel.fromJson(city)); - // // }); - // - // }, onFailure: (String error, int statusCode) { - // hasError = true; - // super.error = error; - // }, body: searchEReferralRequestModel.toJson()); + + dynamic localRes; + + await baseAppClient.post(GET_E_REFERRALS, + onSuccess: (dynamic response, int statusCode) { + print("EEEEEE"); + _allReferral.clear(); + localRes = response; + }, onFailure: (String error, int statusCode) { + hasError = true; + super.error = error; + }, body: searchEReferralRequestModel.toJson()); + return Future.value(localRes); } } diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart index c96d6ec7..afa3bd05 100644 --- a/lib/core/service/client/base_app_client.dart +++ b/lib/core/service/client/base_app_client.dart @@ -54,6 +54,7 @@ class BaseAppClient { : SETUP_ID : SETUP_ID; } + body['VersionID'] = VERSION_ID; body['Channel'] = CHANNEL; body['LanguageID'] = body.containsKey('LanguageID') diff --git a/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart index 0b75705d..e74b6acf 100644 --- a/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart +++ b/lib/pages/AlHabibMedicalService/E-Referral/search_for_referrals_page.dart @@ -1,9 +1,13 @@ +import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_criteria_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_request_model.dart'; +import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/e_referral_service.dart'; import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_model.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart'; +import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.dart'; @@ -12,6 +16,7 @@ import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import '../../../locator.dart'; import 'New_E_Referral/new_e_referral_step_one_page.dart'; import 'dialogs/select_country_ingo_Dialog.dart'; import 'dialogs/select_search_criteria_dialog.dart'; @@ -28,6 +33,7 @@ class _SearchForReferralsPageState extends State { TextEditingController _mobileTextController = TextEditingController(); bool _isSubmitted = false; + AuthenticatedUser authUser; dynamic _selectedCountry = { "name": "Saudi Arabia", @@ -41,6 +47,13 @@ class _SearchForReferralsPageState extends State { SearchCriteriaModel selectedCriteria = SearchCriteriaModel( name: "Identification Number", nameAr: "رقم المحول", value: 1); + @override + void initState() { + authUser = new AuthenticatedUser(); + WidgetsBinding.instance.addPostFrameCallback((_) => getPatientData()); + super.initState(); + } + @override Widget build(BuildContext context) { return BaseView( @@ -123,9 +136,8 @@ class _SearchForReferralsPageState extends State { if ((model.state == ViewState.Idle && model.allReferral.length == 0)) Text("There's No Referral To deliver"), - if (( - model.state == ViewState.ErrorLocal)) - AppEmbeddedError( error:model.error), + if ((model.state == ViewState.ErrorLocal)) + AppEmbeddedError(error: model.error), NetworkBaseView( baseViewModel: model, child: ListView.builder( @@ -186,6 +198,50 @@ class _SearchForReferralsPageState extends State { ))); } + void getEreferrals() { + EReferralService _eReferralService = locator(); + + String mobileNumber; + String zipCode; + + if (authUser.mobileNumber.length > 9) { + mobileNumber = + authUser.mobileNumber.substring(1, authUser.mobileNumber.length); + } else { + mobileNumber = authUser.mobileNumber; + } + + if (authUser.outSA == 0) { + zipCode = "966"; + } else { + zipCode = "971"; + } + + SearchEReferralRequestModel searchEReferralRequestModel = + new SearchEReferralRequestModel( + patientMobileNumber: zipCode + mobileNumber, + identificationNo: authUser.patientIdentificationNo, + referralNumber: 0); + + _eReferralService + .getEReferrals(searchEReferralRequestModel) + .then((response) { + print(response['List_EReferrals']); + }).catchError(() {}); + } + + getPatientData() async { + AppSharedPreferences sharedPref = AppSharedPreferences(); + if (await sharedPref.getObject(USER_PROFILE) != null) { + var data = + AuthenticatedUser.fromJson(await sharedPref.getObject(USER_PROFILE)); + setState(() { + authUser = data; + getEreferrals(); + }); + } + } + void confirmSelectCountryTypeDialog() { showDialog( context: context, diff --git a/lib/pages/base/base_view.dart b/lib/pages/base/base_view.dart index 5977e97e..38b70e23 100644 --- a/lib/pages/base/base_view.dart +++ b/lib/pages/base/base_view.dart @@ -63,4 +63,4 @@ class _BaseViewState extends State> { super.dispose(); } -} +} \ No newline at end of file diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart index 25ad13bb..5a5a8b19 100644 --- a/lib/pages/login/login.dart +++ b/lib/pages/login/login.dart @@ -20,13 +20,11 @@ import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; -import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:smart_progress_bar/smart_progress_bar.dart'; class Login extends StatefulWidget { @override @@ -121,7 +119,9 @@ class _Login extends State { color: Colors.grey, height: 2, ), - SizedBox(height: 10,), + SizedBox( + height: 10, + ), Row( children: [ Expanded( @@ -208,15 +208,13 @@ class _Login extends State { okText: TranslationBase.of(context).confirm, cancelText: TranslationBase.of(context).cancel_nocaps, okFunction: () => { - ConfirmDialog.closeAlertDialog(context), + ConfirmDialog.closeAlertDialog(context), Navigator.of(context).pushNamed( REGISTER, ), - }, cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); dialog.showAlertDialog(context); - }); // SMSOTP.showLoadingDialog(context, false), } @@ -243,9 +241,9 @@ class _Login extends State { this.authService.checkActivationCode(request, code).then((result) => { sharedPref.remove(FAMILY_FILE), result = CheckActivationCode.fromJson(result), - result.list.isFamily =false, - this.sharedPref.setObject(USER_PROFILE, result.list), - this.sharedPref.setObject(MAIN_USER, result.list), + result.list.isFamily = false, + this.sharedPref.setObject(USER_PROFILE, result.list), + this.sharedPref.setObject(MAIN_USER, result.list), this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), this.sharedPref.setString(TOKEN, result.authenticationTokenID), authenticatedUserObject.getUser(), diff --git a/pubspec.yaml b/pubspec.yaml index 66e08f5c..ce00b9fb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -158,6 +158,9 @@ dependencies: badges: ^1.1.4 + #Smartwatch Health Data Integration + fit_kit: ^1.1.2 + dev_dependencies: flutter_test: sdk: flutter