WD: hospital name selection change

merge-update-with-lab-changes
taha.alam 10 months ago
parent e3b75b18c8
commit 5dbd97aa46

@ -22,12 +22,12 @@ var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/';
// var BASE_URL = 'https://uat.hmgwebservices.com/';
// var BASE_URL = 'https://hmgwebservices.com/';
var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/';
var BASE_URL = 'https://webservices.hmg.com/';
// var BASE_URL = 'https://webservices.hmg.com/';
// var BASE_URL = 'http://10.50.100.198:4422/';

@ -878,7 +878,7 @@ const Map localizedValues = {
"select-part": {"en": "Please select the part that complain about", "ar": "يرجى تحديد الجزء الذي تشكو منه"},
"number": {"en": "Number", "ar": "الرقم"},
"not-classified": {"en": "Not classified", "ar": "غير محدد"},
"selectClinic": {"en": "Select Clinic", "ar": " بحث بالعيادة"},
"selectClinic": {"en": "Select Clinic", "ar": "اختر بالعيادة"},
"selectProject": {"en": "Select Hospital", "ar": " بحث المستشفى"},
"searchItemError": {"en": "Item name should be more than 3 character ", "ar": "يجب أن يكون الاسم المدخل أكثر من 3 أحرف"},
"YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "},

@ -76,9 +76,9 @@ class HospitalsModel {
String? getName(bool isArabic) {
if (isArabic) {
return "$legalNameN";
return "$nameN";
}
return legalName;
return name;
}
Map<String, dynamic> toJson() {

@ -223,6 +223,13 @@ class DoctorList {
String getProjectCompleteName(){
return "${this.projectTopName} ${this.projectBottomName}";
}
String getProjectCompleteNameWithLocale({bool isArabic = false}) {
if (isArabic) {
return "${this.projectBottomName} ${this.projectTopName}";
}
return "${this.projectTopName} ${this.projectBottomName}";
}
}
class PatientDoctorAppointmentList {

@ -1,6 +1,7 @@
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/SearchResults.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
@ -87,6 +88,7 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
),
onPressed: () {
if (_isButtonDisabled == false) {
FocusManager.instance.primaryFocus?.unfocus();
_searchDoctor(context);
}
},
@ -98,69 +100,58 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
}
getDoctorsList(BuildContext context) {
bool isArabic = context.read<ProjectViewModel>().isArabic;
int languageID = isArabic ? 1 : 2;
int languageID = context.read<ProjectViewModel>().isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List<DoctorList> doctorsList = [];
DoctorsListService service = new DoctorsListService();
var counter = 0;
var isHmc = false;
List<PatientDoctorAppointmentList> _patientDoctorAppointmentListHospital =
[];
service
.getDoctorsListByName(doctorNameController.text, languageID, context)
.then((res) async {
.then((res) {
// GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
RegionList regionHospitalList = RegionList();
setState(() {
if (res['DoctorList'].length != 0) {
res['DoctorList'].forEach((v) {
doctorsList.add(new DoctorList.fromJson(v));
});
if (res['DoctorList'].length != 0) {
res['DoctorList'].forEach((v) {
// var reg = region[counter % 4];
// counter++;
doctorsList.add(new DoctorList.fromJson(
v,
));
// isHmc = !isHmc;
});
// print('the counter is ${counter}');
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(
isLocationEnabled, regionHospitalList);
setState(() {});
// doctorsList.forEach((element) {
// List<PatientDoctorAppointmentList> doctorByHospital =
// _patientDoctorAppointmentListHospital.where((elementClinic) => elementClinic.filterName == element.getProjectCompleteName()).toList();
//
// if (doctorByHospital.length != 0) {
// _patientDoctorAppointmentListHospital[_patientDoctorAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList!.add(element);
// } else {
// _patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(
// filterName: element.getProjectCompleteName(),
// distanceInKMs: element.projectDistanceInKiloMeters.toString(),
// projectTopName: element.projectTopName,
// projectBottomName: element.projectBottomName,
// patientDoctorAppointment: element));
// }
// });
} else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorSearchMsg']);
}
doctorsList.forEach((element) {
List<PatientDoctorAppointmentList> doctorByHospital =
_patientDoctorAppointmentListHospital
.where((elementClinic) =>
elementClinic.filterName ==
element.getProjectCompleteName())
.toList();
if (doctorByHospital.length != 0) {
_patientDoctorAppointmentListHospital[
_patientDoctorAppointmentListHospital
.indexOf(doctorByHospital[0])]
.patientDoctorAppointmentList!
.add(element);
} else {
_patientDoctorAppointmentListHospital.add(
PatientDoctorAppointmentList(
filterName: element.getProjectCompleteName(),
distanceInKMs:
element.projectDistanceInKiloMeters.toString(),
projectTopName: element.projectTopName,
projectBottomName: element.projectBottomName,
patientDoctorAppointment: element));
}
});
} else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorSearchMsg']);
}
});
GifLoaderDialogUtils.hideDialog(context);
// navigateToSearchResults(context, doctorsList, _patientDoctorAppointmentListHospital);
navigateToSearchResults(context, regionHospitalList);
navigateToSearchResults(
context, doctorsList, _patientDoctorAppointmentListHospital);
} else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
@ -195,16 +186,17 @@ class _SearchByDoctorState extends State<SearchByDoctor> {
.book_appointment_doctor_search(query: doctorNameController.text);
}
navigateToSearchResults(context, RegionList regionHospitalList) {
// Navigator.push(context,
// FadePage(page: SearchResults(isLiveCareAppointment: false, isDoctorNameSearch: true, doctorsList: docList, patientDoctorAppointmentListHospital: patientDoctorAppointmentListHospital, isDoctorSearchResult: true,)));
navigateToSearchResults(context, List<DoctorList> docList,
List<PatientDoctorAppointmentList> patientDoctorAppointmentListHospital) {
Navigator.push(
context,
FadePage(
page: SearchResultWithTab(
doctorsList: [],
patientDoctorAppointmentListHospital: regionHospitalList,
page: SearchResults(
isLiveCareAppointment: false,
isDoctorNameSearch: true,
doctorsList: docList,
patientDoctorAppointmentListHospital:
patientDoctorAppointmentListHospital,
isDoctorSearchResult: true,
)));
}

@ -295,6 +295,13 @@ class _SearchByHospitalState extends State<SearchByHospital> {
projectsList = projectsListLocal;
hospitalList = await DoctorMapper.getMappedHospitals(projectsList,
isArabic: context.read<ProjectViewModel>().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);
hospitalList =
await DoctorMapper.sortList(isLocationEnabled, hospitalList!);
setState(() {});
GifLoaderDialogUtils.hideDialog(context);
} else {}

@ -23,7 +23,8 @@ class DoctorMapper{
var doctorByHospital = targetList
?.where((clinic) =>
clinic.filterName == element.getProjectCompleteName())
clinic.filterName ==
element.getProjectCompleteNameWithLocale(isArabic: isArabic))
.toList() ??
[];
@ -31,7 +32,8 @@ class DoctorMapper{
doctorByHospital.first.patientDoctorAppointmentList?.add(element);
} else {
var newAppointment = PatientDoctorAppointmentList(
filterName: element.getProjectCompleteName(),
filterName:
element.getProjectCompleteNameWithLocale(isArabic: isArabic),
distanceInKMs: element.projectDistanceInKiloMeters.toString(),
projectTopName: element.projectTopName,
projectBottomName: element.projectBottomName,
@ -141,7 +143,7 @@ class DoctorMapper{
List<PatientDoctorAppointmentList> existingEntry = targetList
?.where(
(entry) => entry.filterName == hospital.legalName,
(entry) => entry.filterName == hospital.getName(isArabic),
)
.toList() ??
[];
@ -150,10 +152,10 @@ class DoctorMapper{
existingEntry.first.hospitalList.add(hospital);
} else {
final newEntry = PatientDoctorAppointmentList(
filterName: hospital.getName(isArabic),
filterName: hospital.name,
distanceInKMs: hospital.distanceInKilometers?.toString(),
projectTopName: hospital.name,
projectBottomName: hospital.legalName,
projectBottomName: hospital.name,
model: hospital);
final distance = hospital.distanceInKilometers;

Loading…
Cancel
Save