From d449086f9a9f3e691a5a328ab6bb0a8d7eccf31a Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Wed, 8 Jul 2020 17:08:24 +0300 Subject: [PATCH 1/4] Fixing Clinic name in app reopening --- lib/providers/auth_provider.dart | 5 +++++ lib/screens/dashboard_screen.dart | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index eeef77e3..f288d696 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -1,6 +1,7 @@ import 'package:doctor_app_flutter/client/base_app_client.dart'; import 'package:doctor_app_flutter/models/doctor/clinic_model.dart'; import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; +import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:flutter/cupertino.dart'; import 'package:doctor_app_flutter/config/config.dart'; @@ -14,6 +15,8 @@ class AuthProvider with ChangeNotifier { String selectedClinicName; bool isLogin = false; bool isLoading = true; + DoctorProfileModel doctorProfile; + AuthProvider() { getUserAuthentication(); } @@ -21,6 +24,7 @@ class AuthProvider with ChangeNotifier { void getUserAuthentication() async { Map profile = await sharedPref.getObj(DOCTOR_PROFILE); if (profile != null) { + doctorProfile = new DoctorProfileModel.fromJson(profile); isLoading = false; isLogin = true; } else { @@ -117,6 +121,7 @@ class AuthProvider with ChangeNotifier { localRes = response; selectedClinicName = ClinicModel.fromJson(response['List_DoctorsClinic'][0]).clinicName; + notifyListeners(); response['List_DoctorsClinic'].forEach((v) { doctorsClinicList.add(new ClinicModel.fromJson(v)); diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index cab257e0..f94cad17 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -52,8 +52,9 @@ class _DashboardScreenState extends State { bool isLoading = false; ProjectProvider projectsProvider; var _isInit = true; + DoctorProfileModel profile; - void didChangeDependencies() { + void didChangeDependencies() async { super.didChangeDependencies(); if (_isInit) { projectsProvider = Provider.of(context); @@ -73,6 +74,7 @@ class _DashboardScreenState extends State { authProvider = Provider.of(context); projectsProvider = Provider.of(context); FocusScopeNode currentFocus = FocusScope.of(context); + if (!currentFocus.hasPrimaryFocus) { currentFocus.unfocus(); } @@ -97,8 +99,10 @@ class _DashboardScreenState extends State { margin: EdgeInsets.only(left: 10, top: 10), child: AppText( authProvider.selectedClinicName != null - ? authProvider.selectedClinicName - : '', + ? //"Hussam Real" + authProvider.selectedClinicName + : authProvider.doctorProfile.clinicDescription, +// fontWeight: FontWeight.bold, fontSize: SizeConfig.textMultiplier * 2.5, ), From 0444d6803cb22b9d517c2ff980d191e944226477 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Sun, 12 Jul 2020 15:44:16 +0300 Subject: [PATCH 2/4] verification Screen Fixed --- lib/providers/auth_provider.dart | 1 - lib/widgets/auth/verfiy_account.dart | 13 ++++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/providers/auth_provider.dart b/lib/providers/auth_provider.dart index f288d696..ae7b4cbe 100644 --- a/lib/providers/auth_provider.dart +++ b/lib/providers/auth_provider.dart @@ -122,7 +122,6 @@ class AuthProvider with ChangeNotifier { selectedClinicName = ClinicModel.fromJson(response['List_DoctorsClinic'][0]).clinicName; - notifyListeners(); response['List_DoctorsClinic'].forEach((v) { doctorsClinicList.add(new ClinicModel.fromJson(v)); }); diff --git a/lib/widgets/auth/verfiy_account.dart b/lib/widgets/auth/verfiy_account.dart index a93c2b11..8c4aa224 100644 --- a/lib/widgets/auth/verfiy_account.dart +++ b/lib/widgets/auth/verfiy_account.dart @@ -42,6 +42,10 @@ class _VerifyAccountState extends State { AuthProvider authProv; bool _isInit = true; var model; + TextEditingController digit1 = TextEditingController(text: ""); + TextEditingController digit2 = TextEditingController(text: ""); + TextEditingController digit3 = TextEditingController(text: ""); + TextEditingController digit4 = TextEditingController(text: ""); @override void initState() { @@ -103,6 +107,7 @@ class _VerifyAccountState extends State { style: buildTextStyle(), autofocus: true, maxLength: 1, + controller: digit1, textAlign: TextAlign.center, keyboardType: TextInputType.number, decoration: buildInputDecoration(context), @@ -126,6 +131,7 @@ class _VerifyAccountState extends State { width: SizeConfig.realScreenWidth * 0.20, child: TextFormField( focusNode: focusD2, + controller: digit2, textInputAction: TextInputAction.next, maxLength: 1, textAlign: TextAlign.center, @@ -153,6 +159,7 @@ class _VerifyAccountState extends State { width: SizeConfig.realScreenWidth * 0.20, child: TextFormField( focusNode: focusD3, + controller: digit3, textInputAction: TextInputAction.next, maxLength: 1, textAlign: TextAlign.center, @@ -179,6 +186,7 @@ class _VerifyAccountState extends State { width: SizeConfig.realScreenWidth * 0.20, child: TextFormField( focusNode: focusD4, + controller: digit4, maxLength: 1, textAlign: TextAlign.center, style: buildTextStyle(), @@ -246,6 +254,7 @@ class _VerifyAccountState extends State { if (value.isEmpty) { return 'Please enter your Password'; } + return null; } @@ -335,7 +344,9 @@ class _VerifyAccountState extends State { verifyAccountFormValue['digit3'] + verifyAccountFormValue['digit4']; print(activationCode); + int projectID = await sharedPref.getInt(PROJECT_ID); + Map model = { "activationCode": activationCode, "DoctorID": _loggedUser['DoctorID'], @@ -353,7 +364,7 @@ class _VerifyAccountState extends State { }; authProv.memberCheckActivationCodeNew(model).then((res) { - // changeLoadingStata(false); + //changeLoadingStata(false); if (res['MessageStatus'] == 1) { sharedPref.setString(TOKEN, res['AuthenticationTokenID']); if (res['List_DoctorProfile'] != null) { From b6d2cdb1dbb01aac5319dd96c8838a895df5eac0 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Mon, 13 Jul 2020 10:44:43 +0300 Subject: [PATCH 3/4] fixing clinic name in app reopening --- lib/screens/dashboard_screen.dart | 4 +--- lib/widgets/auth/verfiy_account.dart | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/screens/dashboard_screen.dart b/lib/screens/dashboard_screen.dart index f94cad17..40bb07b6 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -99,10 +99,8 @@ class _DashboardScreenState extends State { margin: EdgeInsets.only(left: 10, top: 10), child: AppText( authProvider.selectedClinicName != null - ? //"Hussam Real" - authProvider.selectedClinicName + ? authProvider.selectedClinicName : authProvider.doctorProfile.clinicDescription, -// fontWeight: FontWeight.bold, fontSize: SizeConfig.textMultiplier * 2.5, ), diff --git a/lib/widgets/auth/verfiy_account.dart b/lib/widgets/auth/verfiy_account.dart index 8c4aa224..f7ccfa5c 100644 --- a/lib/widgets/auth/verfiy_account.dart +++ b/lib/widgets/auth/verfiy_account.dart @@ -343,7 +343,6 @@ class _VerifyAccountState extends State { verifyAccountFormValue['digit2'] + verifyAccountFormValue['digit3'] + verifyAccountFormValue['digit4']; - print(activationCode); int projectID = await sharedPref.getInt(PROJECT_ID); @@ -364,7 +363,6 @@ class _VerifyAccountState extends State { }; authProv.memberCheckActivationCodeNew(model).then((res) { - //changeLoadingStata(false); if (res['MessageStatus'] == 1) { sharedPref.setString(TOKEN, res['AuthenticationTokenID']); if (res['List_DoctorProfile'] != null) { From efc5db9f5b65895341a2a00cc7e8bd1eabaf8c35 Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Thu, 16 Jul 2020 16:51:29 +0300 Subject: [PATCH 4/4] versionID update --- lib/config/config.dart | 4 +-- .../pharmacies_List_request_model.dart | 9 ++---- .../pharmacies_items_request_model.dart | 3 +- .../medicine/medicine_search_screen.dart | 31 +++++++++++++------ 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index 1054b1d0..613839f0 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -2,7 +2,7 @@ const MAX_SMALL_SCREEN = 660; const ONLY_NUMBERS = "[0-9]"; const ONLY_LETTERS = "[a-zA-Z &'\"]"; const ONLY_DATE = "[0-9/]"; -//const BASE_URL = 'https://hmgwebservices.com/Services/'; +//const BASE_URL = 'https://hmgwebservices.com/'; const BASE_URL = 'https://uat.hmgwebservices.com/'; const PHARMACY_ITEMS_URL = "Services/Lists.svc/REST/GetPharmcyItems_Region"; const PHARMACY_LIST_URL = "Services/Patients.svc/REST/GetPharmcyList"; @@ -123,7 +123,7 @@ const TRANSACTION_NO = 0; const LANGUAGE_ID = 2; const STAMP = '2020-04-27T12:17:17.721Z'; const IP_ADDRESS = '11.11.11.11'; -const VERSION_ID = 1.2; +const VERSION_ID = 5.3; const CHANNEL = 9; const SESSION_ID = 'BlUSkYymTt'; const IS_LOGIN_FOR_DOCTOR_APP = true; diff --git a/lib/models/pharmacies/pharmacies_List_request_model.dart b/lib/models/pharmacies/pharmacies_List_request_model.dart index eea446dd..70cda5d1 100644 --- a/lib/models/pharmacies/pharmacies_List_request_model.dart +++ b/lib/models/pharmacies/pharmacies_List_request_model.dart @@ -1,4 +1,3 @@ - /* *@author: Ibrahim Albitar *@Date:27/4/2020 @@ -8,8 +7,6 @@ */ class PharmaciesListRequestModel { - - int itemID; int languageID; String stamp; @@ -23,13 +20,13 @@ class PharmaciesListRequestModel { int channel; PharmaciesListRequestModel( - {this.itemID , + {this.itemID, this.patientTypeID = 1, this.languageID = 2, this.stamp = '2020-04-23T21:01:21.492Z', this.ipAdress = '11.11.11.11', this.versionID = 1.2, - this.tokenID , + this.tokenID, this.sessionID = 'e29zoooEJ4', this.isLoginForDoctorApp = true, this.channel = 9, @@ -64,4 +61,4 @@ class PharmaciesListRequestModel { data['Channel'] = this.channel; return data; } -} \ No newline at end of file +} diff --git a/lib/models/pharmacies/pharmacies_items_request_model.dart b/lib/models/pharmacies/pharmacies_items_request_model.dart index 96df6da8..84fc56ce 100644 --- a/lib/models/pharmacies/pharmacies_items_request_model.dart +++ b/lib/models/pharmacies/pharmacies_items_request_model.dart @@ -6,7 +6,6 @@ *@desc: */ - class PharmaciesItemsRequestModel { String pHRItemName; int pageIndex = 0; @@ -66,4 +65,4 @@ class PharmaciesItemsRequestModel { data['DeviceTypeID'] = this.deviceTypeID; return data; } -} \ No newline at end of file +} diff --git a/lib/screens/medicine/medicine_search_screen.dart b/lib/screens/medicine/medicine_search_screen.dart index 67b4a651..af1eb11d 100644 --- a/lib/screens/medicine/medicine_search_screen.dart +++ b/lib/screens/medicine/medicine_search_screen.dart @@ -60,8 +60,8 @@ class _MedicineSearchState extends State { hintText: TranslationBase.of(context).searchMedicineNameHere, controller: myController, onSaved: (value) {}, - onFieldSubmitted: (value){ - searchMedicine(context); + onFieldSubmitted: (value) { + searchMedicine(context); }, textInputAction: TextInputAction.search, inputFormatter: ONLY_LETTERS), @@ -92,7 +92,10 @@ class _MedicineSearchState extends State { children: [ AppText( TranslationBase.of(context).youCanFind + - (_medicineProvider.pharmacyItemsList == null ? "0" : _medicineProvider.pharmacyItemsList.length.toString()) + + (_medicineProvider.pharmacyItemsList == null + ? "0" + : _medicineProvider.pharmacyItemsList.length + .toString()) + TranslationBase.of(context).itemsInSearch, fontWeight: FontWeight.bold, margin: 5, @@ -116,12 +119,19 @@ class _MedicineSearchState extends State { : ListView.builder( scrollDirection: Axis.vertical, shrinkWrap: true, - itemCount: _medicineProvider.pharmacyItemsList == null ? 0 : _medicineProvider.pharmacyItemsList.length, + itemCount: _medicineProvider.pharmacyItemsList == + null + ? 0 + : _medicineProvider.pharmacyItemsList.length, itemBuilder: (BuildContext context, int index) { return InkWell( child: MedicineItemWidget( - label: _medicineProvider.pharmacyItemsList[index]["ItemDescription"], - url: _medicineProvider.pharmacyItemsList[index]["ProductImageBase64"], + label: + _medicineProvider.pharmacyItemsList[index] + ["ItemDescription"], + url: + _medicineProvider.pharmacyItemsList[index] + ["ProductImageBase64"], ), onTap: () { Navigator.push( @@ -129,9 +139,12 @@ class _MedicineSearchState extends State { MaterialPageRoute( builder: (context) => PharmaciesListScreen( - itemID: _medicineProvider.pharmacyItemsList[index]["ItemID"], - url: _medicineProvider.pharmacyItemsList[index] - ["ProductImageBase64"]), + itemID: _medicineProvider + .pharmacyItemsList[index] + ["ItemID"], + url: _medicineProvider + .pharmacyItemsList[index] + ["ProductImageBase64"]), ), ); },