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/providers/auth_provider.dart b/lib/providers/auth_provider.dart index eeef77e3..ae7b4cbe 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,7 +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 3dce5276..8743e6cb 100644 --- a/lib/screens/dashboard_screen.dart +++ b/lib/screens/dashboard_screen.dart @@ -55,8 +55,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); @@ -76,6 +77,7 @@ class _DashboardScreenState extends State { authProvider = Provider.of(context); projectsProvider = Provider.of(context); FocusScopeNode currentFocus = FocusScope.of(context); + if (!currentFocus.hasPrimaryFocus) { currentFocus.unfocus(); } @@ -101,7 +103,7 @@ class _DashboardScreenState extends State { child: AppText( authProvider.selectedClinicName != null ? authProvider.selectedClinicName - : '', + : authProvider.doctorProfile.clinicDescription, fontWeight: FontWeight.bold, fontSize: SizeConfig.textMultiplier * 2.5, ), 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"]), ), ); }, diff --git a/lib/widgets/auth/verfiy_account.dart b/lib/widgets/auth/verfiy_account.dart index a93c2b11..f7ccfa5c 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; } @@ -334,8 +343,9 @@ class _VerifyAccountState extends State { verifyAccountFormValue['digit2'] + verifyAccountFormValue['digit3'] + verifyAccountFormValue['digit4']; - print(activationCode); + int projectID = await sharedPref.getInt(PROJECT_ID); + Map model = { "activationCode": activationCode, "DoctorID": _loggedUser['DoctorID'], @@ -353,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) {