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

dev_v3.13.6_deep_link
taha.alam 11 months ago
parent 7cafe3aaa9
commit 0221cb1250

@ -659,8 +659,13 @@ class _SearchByClinicState extends State<SearchByClinic> {
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic);
regionHospitalList =
await DoctorMapper.sortList(true, regionHospitalList);
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 = await DoctorMapper.sortList(
isLocationEnabled, regionHospitalList);
setState(() {});
} 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/models/Appointments/DoctorListResponse.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/uitl/app_toast.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/widgets/buttons/custom_text_button.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
@ -12,6 +14,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import '../../../services/appointment_services/doctor_response_mapper.dart';
import '../../../services/authentication/auth_provider.dart';
class SearchByDoctor extends StatefulWidget {
@override
@ -21,10 +24,14 @@ class SearchByDoctor extends StatefulWidget {
class _SearchByDoctorState extends State<SearchByDoctor> {
TextEditingController doctorNameController = new TextEditingController();
late bool _isButtonDisabled;
late LocationUtils locationUtils;
@override
void initState() {
super.initState();
locationUtils =
new LocationUtils(isShowConfirmDialog: true, context: context);
locationUtils.getCurrentLocation();
_isButtonDisabled = true;
}
@ -122,8 +129,13 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList,
isArabic: isArabic);
regionHospitalList =
await DoctorMapper.sortList(true, regionHospitalList);
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 = await DoctorMapper.sortList(
isLocationEnabled, regionHospitalList);
setState(() {});
// doctorsList.forEach((element) {

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

@ -2,7 +2,6 @@ import 'dart:io';
import 'package:diplomaticquarterapp/config/shared_pref_kay.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/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -203,6 +202,7 @@ class LocationUtils {
}
showErrorLocationDialog(bool isPermissionError, {Function()? failureCallBack}) {
setLocation(null);
ConfirmDialog dialog = new ConfirmDialog(
context: context,
confirmMessage: TranslationBase.of(context).locationDialogMessage,
@ -227,11 +227,12 @@ class LocationUtils {
return dialog.showAlertDialog(context);
}
void setLocation(Position position) {
this.sharedPref.setDouble(USER_LAT, position != null ? position.latitude : 0.0);
this.sharedPref.setDouble(USER_LONG, position != null ? position.longitude : 0.0);
void setLocation(Position? position) {
this.sharedPref.setDouble(USER_LAT, position?.latitude ?? 0.0);
this.sharedPref.setDouble(USER_LONG, position?.longitude ?? 0.0);
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() {

Loading…
Cancel
Save