WD: search by region added for the doctors to be mapped.

merge-update-with-lab-changes
taha.alam 1 year ago
parent 7cafe3aaa9
commit 0221cb1250

@ -659,8 +659,13 @@ class _SearchByClinicState extends State<SearchByClinic> {
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList, regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic); isArabic: isArabic);
regionHospitalList = var lat = await sharedPref.getDouble(USER_LAT);
await DoctorMapper.sortList(true, regionHospitalList);
var lng = await sharedPref.getDouble(USER_LONG);
var isLocationEnabled =
(lat != null && lat != 0.0) && (lng != null && lng != 0.0);
regionHospitalList = await DoctorMapper.sortList(
isLocationEnabled, regionHospitalList);
setState(() {}); setState(() {});
} else { } else {

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart';
@ -5,6 +6,7 @@ import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsLis
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/custom_text_button.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -12,6 +14,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../../services/appointment_services/doctor_response_mapper.dart'; import '../../../services/appointment_services/doctor_response_mapper.dart';
import '../../../services/authentication/auth_provider.dart';
class SearchByDoctor extends StatefulWidget { class SearchByDoctor extends StatefulWidget {
@override @override
@ -21,10 +24,14 @@ class SearchByDoctor extends StatefulWidget {
class _SearchByDoctorState extends State<SearchByDoctor> { class _SearchByDoctorState extends State<SearchByDoctor> {
TextEditingController doctorNameController = new TextEditingController(); TextEditingController doctorNameController = new TextEditingController();
late bool _isButtonDisabled; late bool _isButtonDisabled;
late LocationUtils locationUtils;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
locationUtils =
new LocationUtils(isShowConfirmDialog: true, context: context);
locationUtils.getCurrentLocation();
_isButtonDisabled = true; _isButtonDisabled = true;
} }
@ -122,8 +129,13 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList, regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic); isArabic: isArabic);
regionHospitalList = var lat = await sharedPref.getDouble(USER_LAT);
await DoctorMapper.sortList(true, regionHospitalList);
var lng = await sharedPref.getDouble(USER_LONG);
var isLocationEnabled =
(lat != null && lat != 0.0) && (lng != null && lng != 0.0);
regionHospitalList = await DoctorMapper.sortList(
isLocationEnabled, regionHospitalList);
setState(() {}); setState(() {});
// doctorsList.forEach((element) { // doctorsList.forEach((element) {

@ -1,9 +1,11 @@
import 'package:auto_size_text/auto_size_text.dart'; import 'package:auto_size_text/auto_size_text.dart';
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResultsByRegion.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/components/LaserClinic.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/components/LaserClinic.dart';
import 'package:diplomaticquarterapp/services/appointment_services/doctor_response_mapper.dart'; import 'package:diplomaticquarterapp/services/appointment_services/doctor_response_mapper.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -15,6 +17,7 @@ import '../../../models/Appointments/DoctorListResponse.dart';
import '../../../models/Appointments/SearchInfoModel.dart'; import '../../../models/Appointments/SearchInfoModel.dart';
import '../../../models/Clinics/ClinicListResponse.dart'; import '../../../models/Clinics/ClinicListResponse.dart';
import '../../../services/appointment_services/GetDoctorsList.dart'; import '../../../services/appointment_services/GetDoctorsList.dart';
import '../../../services/authentication/auth_provider.dart';
import '../../../services/clinic_services/get_clinic_service.dart'; import '../../../services/clinic_services/get_clinic_service.dart';
import '../../../uitl/app_toast.dart'; import '../../../uitl/app_toast.dart';
import '../../../uitl/gif_loader_dialog_utils.dart'; import '../../../uitl/gif_loader_dialog_utils.dart';
@ -46,9 +49,13 @@ class _SearchByHospitalState extends State<SearchByHospital> {
String? dropdownValue; String? dropdownValue;
String dropdownTitle = ""; String dropdownTitle = "";
late LocationUtils locationUtils;
@override @override
void initState() { void initState() {
locationUtils =
new LocationUtils(isShowConfirmDialog: true, context: context);
locationUtils.getCurrentLocation();
WidgetsBinding.instance.addPostFrameCallback((_) => getProjectsList()); WidgetsBinding.instance.addPostFrameCallback((_) => getProjectsList());
} }
@ -406,8 +413,13 @@ class _SearchByHospitalState extends State<SearchByHospital> {
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList, regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic); isArabic: isArabic);
var lat = await sharedPref.getDouble(USER_LAT);
var lng = await sharedPref.getDouble(USER_LONG);
var isLocationEnabled = (lat != null && lat != 0.0) &&
(lng != null && lng != 0.0);
regionHospitalList = regionHospitalList =
await DoctorMapper.sortList(true, regionHospitalList); await DoctorMapper.sortList(isLocationEnabled, regionHospitalList);
setState(() {}); setState(() {});
} else { } else {

@ -2,7 +2,6 @@ import 'dart:io';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/services/permission/permission_service.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -203,6 +202,7 @@ class LocationUtils {
} }
showErrorLocationDialog(bool isPermissionError, {Function()? failureCallBack}) { showErrorLocationDialog(bool isPermissionError, {Function()? failureCallBack}) {
setLocation(null);
ConfirmDialog dialog = new ConfirmDialog( ConfirmDialog dialog = new ConfirmDialog(
context: context, context: context,
confirmMessage: TranslationBase.of(context).locationDialogMessage, confirmMessage: TranslationBase.of(context).locationDialogMessage,
@ -227,11 +227,12 @@ class LocationUtils {
return dialog.showAlertDialog(context); return dialog.showAlertDialog(context);
} }
void setLocation(Position position) { void setLocation(Position? position) {
this.sharedPref.setDouble(USER_LAT, position != null ? position.latitude : 0.0); this.sharedPref.setDouble(USER_LAT, position?.latitude ?? 0.0);
this.sharedPref.setDouble(USER_LONG, position != null ? position.longitude : 0.0); this.sharedPref.setDouble(USER_LONG, position?.longitude ?? 0.0);
ProjectViewModel projectViewModel = Provider.of(context, listen: false); ProjectViewModel projectViewModel = Provider.of(context, listen: false);
projectViewModel.setLatitudeLongitude(position.latitude, position.longitude); projectViewModel.setLatitudeLongitude(
position?.latitude ?? 0.0, position?.longitude ?? 0.0);
} }
void setZeroLocation() { void setZeroLocation() {

Loading…
Cancel
Save