working on ereferral

merge-update-with-lab-changes
haroon amjad 5 years ago
parent 6846a8501a
commit 82e23efd32

@ -11,14 +11,18 @@ import 'package:diplomaticquarterapp/core/service/base_service.dart';
class EReferralService extends BaseService { class EReferralService extends BaseService {
List<GetAllRelationshipTypeResponseModel> _relationTypes = List(); List<GetAllRelationshipTypeResponseModel> _relationTypes = List();
List<GetAllRelationshipTypeResponseModel> get relationTypes => _relationTypes; List<GetAllRelationshipTypeResponseModel> get relationTypes => _relationTypes;
List<GetAllCitiesResponseModel> _allCities = List(); List<GetAllCitiesResponseModel> _allCities = List();
List<GetAllCitiesResponseModel> get allCities => _allCities; List<GetAllCitiesResponseModel> get allCities => _allCities;
List<GetAllProjectsResponseModel> _allProjects = List(); List<GetAllProjectsResponseModel> _allProjects = List();
List<GetAllProjectsResponseModel> get allProjects => _allProjects; List<GetAllProjectsResponseModel> get allProjects => _allProjects;
List<SearchEReferralResponseModel> _allReferral = List(); List<SearchEReferralResponseModel> _allReferral = List();
List<SearchEReferralResponseModel> get allReferral => _allReferral; List<SearchEReferralResponseModel> get allReferral => _allReferral;
String _activationCode; String _activationCode;
String _logInTokenID; String _logInTokenID;
@ -46,33 +50,30 @@ class EReferralService extends BaseService {
Future getAllCities() async { Future getAllCities() async {
await baseAppClient.post(GET_ALL_CITIES, await baseAppClient.post(GET_ALL_CITIES,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_allCities.clear(); _allCities.clear();
response['ListCities'].forEach((city) { response['ListCities'].forEach((city) {
_allCities _allCities.add(GetAllCitiesResponseModel.fromJson(city));
.add(GetAllCitiesResponseModel.fromJson(city)); });
}); }, onFailure: (String error, int statusCode) {
}, onFailure: (String error, int statusCode) { hasError = true;
hasError = true; super.error = error;
super.error = error; }, body: {});
}, body: {});
} }
Future getAllProjects() async { Future getAllProjects() async {
await baseAppClient.post(GET_PROJECT, await baseAppClient.post(GET_PROJECT,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_allProjects.clear(); _allProjects.clear();
response['ListProject'].forEach((city) { response['ListProject'].forEach((city) {
_allProjects _allProjects.add(GetAllProjectsResponseModel.fromJson(city));
.add(GetAllProjectsResponseModel.fromJson(city)); });
}); }, onFailure: (String error, int statusCode) {
}, onFailure: (String error, int statusCode) { hasError = true;
hasError = true; super.error = error;
super.error = error; }, body: {});
}, body: {});
} }
Future sendActivationCodeForEReferral( Future sendActivationCodeForEReferral(
SendActivationCodeForEReferralRequestModel SendActivationCodeForEReferralRequestModel
sendActivationCodeForEReferralRequestModel) async { sendActivationCodeForEReferralRequestModel) async {
hasError = false; hasError = false;
@ -81,24 +82,21 @@ class EReferralService extends BaseService {
print(response["VerificationCode"]); print(response["VerificationCode"]);
_activationCode = response["VerificationCode"]; _activationCode = response["VerificationCode"];
_logInTokenID = response["LogInTokenID"]; _logInTokenID = response["LogInTokenID"];
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
}, body: sendActivationCodeForEReferralRequestModel.toJson()); }, body: sendActivationCodeForEReferralRequestModel.toJson());
} }
Future checkActivationCodeForEReferral( Future checkActivationCodeForEReferral(
CheckActivationCodeForEReferralResponseModel CheckActivationCodeForEReferralResponseModel
checkActivationCodeForEReferralRequestModel) async { checkActivationCodeForEReferralRequestModel) async {
checkActivationCodeForEReferralRequestModel.isDentalAllowedBackend = false; checkActivationCodeForEReferralRequestModel.isDentalAllowedBackend = false;
checkActivationCodeForEReferralRequestModel.logInTokenID= _logInTokenID; checkActivationCodeForEReferralRequestModel.logInTokenID = _logInTokenID;
hasError =false; hasError = false;
await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_E_REFERRAL, await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_E_REFERRAL,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_isActivationCodeValid = true; _isActivationCodeValid = true;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
@ -106,40 +104,36 @@ class EReferralService extends BaseService {
} }
Future<dynamic> createEReferral( Future<dynamic> createEReferral(
CreateEReferralRequestModel createEReferralRequestModel CreateEReferralRequestModel createEReferralRequestModel) async {
) async { hasError = false;
hasError = false; dynamic localRes;
dynamic localRes; await baseAppClient.post(
await baseAppClient.post(CREATE_E_REFERRAL/*'Services/Patients.svc/REST/CreateEReferral'*/, CREATE_E_REFERRAL /*'Services/Patients.svc/REST/CreateEReferral'*/,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
// TODO Waiting for fix service // TODO Waiting for fix service
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
}, body: createEReferralRequestModel.toJson()); }, body: createEReferralRequestModel.toJson());
return Future.value(localRes); return Future.value(localRes);
} }
Future getEReferrals( Future getEReferrals(
SearchEReferralRequestModel searchEReferralRequestModel SearchEReferralRequestModel searchEReferralRequestModel) async {
) async {
hasError = false; hasError = false;
// TODO return this code when the fix the server
// await baseAppClient.post(GET_E_REFERRALS, dynamic localRes;
// onSuccess: (dynamic response, int statusCode) {
// print("EEEEEE"); await baseAppClient.post(GET_E_REFERRALS,
// // TODO Waiting for fix service onSuccess: (dynamic response, int statusCode) {
// // ToDo change this one when you have data print("EEEEEE");
// _allReferral.clear(); _allReferral.clear();
// // response['ListCities'].forEach((city) { localRes = response;
// // _allReferral }, onFailure: (String error, int statusCode) {
// // .add(SearchEReferralResponseModel.fromJson(city)); hasError = true;
// // }); super.error = error;
// }, body: searchEReferralRequestModel.toJson());
// }, onFailure: (String error, int statusCode) { return Future.value(localRes);
// hasError = true;
// super.error = error;
// }, body: searchEReferralRequestModel.toJson());
} }
} }

@ -54,6 +54,7 @@ class BaseAppClient {
: SETUP_ID : SETUP_ID
: SETUP_ID; : SETUP_ID;
} }
body['VersionID'] = VERSION_ID; body['VersionID'] = VERSION_ID;
body['Channel'] = CHANNEL; body['Channel'] = CHANNEL;
body['LanguageID'] = body.containsKey('LanguageID') body['LanguageID'] = body.containsKey('LanguageID')

@ -1,9 +1,13 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.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_criteria_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_request_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/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/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.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/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.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/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../../locator.dart';
import 'New_E_Referral/new_e_referral_step_one_page.dart'; import 'New_E_Referral/new_e_referral_step_one_page.dart';
import 'dialogs/select_country_ingo_Dialog.dart'; import 'dialogs/select_country_ingo_Dialog.dart';
import 'dialogs/select_search_criteria_dialog.dart'; import 'dialogs/select_search_criteria_dialog.dart';
@ -28,6 +33,7 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
TextEditingController _mobileTextController = TextEditingController(); TextEditingController _mobileTextController = TextEditingController();
bool _isSubmitted = false; bool _isSubmitted = false;
AuthenticatedUser authUser;
dynamic _selectedCountry = { dynamic _selectedCountry = {
"name": "Saudi Arabia", "name": "Saudi Arabia",
@ -41,6 +47,13 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
SearchCriteriaModel selectedCriteria = SearchCriteriaModel( SearchCriteriaModel selectedCriteria = SearchCriteriaModel(
name: "Identification Number", nameAr: "رقم المحول", value: 1); name: "Identification Number", nameAr: "رقم المحول", value: 1);
@override
void initState() {
authUser = new AuthenticatedUser();
WidgetsBinding.instance.addPostFrameCallback((_) => getPatientData());
super.initState();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<EReferralViewModel>( return BaseView<EReferralViewModel>(
@ -123,9 +136,8 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
if ((model.state == ViewState.Idle && if ((model.state == ViewState.Idle &&
model.allReferral.length == 0)) model.allReferral.length == 0))
Text("There's No Referral To deliver"), Text("There's No Referral To deliver"),
if (( if ((model.state == ViewState.ErrorLocal))
model.state == ViewState.ErrorLocal)) AppEmbeddedError(error: model.error),
AppEmbeddedError( error:model.error),
NetworkBaseView( NetworkBaseView(
baseViewModel: model, baseViewModel: model,
child: ListView.builder( child: ListView.builder(
@ -186,6 +198,50 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
))); )));
} }
void getEreferrals() {
EReferralService _eReferralService = locator<EReferralService>();
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() { void confirmSelectCountryTypeDialog() {
showDialog( showDialog(
context: context, context: context,

@ -20,13 +20,11 @@ import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/input/text_field.dart'; import 'package:diplomaticquarterapp/widgets/input/text_field.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart'; import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.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/text/app_texts_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:smart_progress_bar/smart_progress_bar.dart';
class Login extends StatefulWidget { class Login extends StatefulWidget {
@override @override
@ -121,7 +119,9 @@ class _Login extends State<Login> {
color: Colors.grey, color: Colors.grey,
height: 2, height: 2,
), ),
SizedBox(height: 10,), SizedBox(
height: 10,
),
Row( Row(
children: <Widget>[ children: <Widget>[
Expanded( Expanded(
@ -208,15 +208,13 @@ class _Login extends State<Login> {
okText: TranslationBase.of(context).confirm, okText: TranslationBase.of(context).confirm,
cancelText: TranslationBase.of(context).cancel_nocaps, cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => { okFunction: () => {
ConfirmDialog.closeAlertDialog(context), ConfirmDialog.closeAlertDialog(context),
Navigator.of(context).pushNamed( Navigator.of(context).pushNamed(
REGISTER, REGISTER,
), ),
}, },
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)}); cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)});
dialog.showAlertDialog(context); dialog.showAlertDialog(context);
}); });
// SMSOTP.showLoadingDialog(context, false), // SMSOTP.showLoadingDialog(context, false),
} }
@ -243,9 +241,9 @@ class _Login extends State<Login> {
this.authService.checkActivationCode(request, code).then((result) => { this.authService.checkActivationCode(request, code).then((result) => {
sharedPref.remove(FAMILY_FILE), sharedPref.remove(FAMILY_FILE),
result = CheckActivationCode.fromJson(result), result = CheckActivationCode.fromJson(result),
result.list.isFamily =false, result.list.isFamily = false,
this.sharedPref.setObject(USER_PROFILE, result.list), this.sharedPref.setObject(USER_PROFILE, result.list),
this.sharedPref.setObject(MAIN_USER, result.list), this.sharedPref.setObject(MAIN_USER, result.list),
this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), this.sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID),
this.sharedPref.setString(TOKEN, result.authenticationTokenID), this.sharedPref.setString(TOKEN, result.authenticationTokenID),
authenticatedUserObject.getUser(), authenticatedUserObject.getUser(),

@ -158,6 +158,9 @@ dependencies:
badges: ^1.1.4 badges: ^1.1.4
#Smartwatch Health Data Integration
fit_kit: ^1.1.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter

Loading…
Cancel
Save