feat: enhance appointment logic with user authentication checks and project ID retrieval

pull/362/head
taha 1 month ago
parent 343b5655f8
commit 6cd07a14a4

@ -1058,7 +1058,8 @@ class _SelectClinicPageState extends State<SelectClinicPage> {
regionalViewModel.setBottomSheetState(AppointmentViaRegionState.DOCTOR_SELECTION);
var appointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
if (appointmentsViewModel.selectedClinic.clinicID == 253) {
appointmentsViewModel.setProjectID(regionalViewModel.selectedHospital?.patientDoctorAppointmentList!.first.iD?.toString() ?? "");
var id =getProjectId(regionalViewModel);
appointmentsViewModel.setProjectID(id);
appointmentsViewModel.resetLaserData();
appointmentsViewModel.getLaserClinic();
regionalViewModel.handleLastStepForClinicForDentalAndLaser(appointmentsViewModel.selectedClinic.clinicID ?? -1);
@ -1067,8 +1068,9 @@ class _SelectClinicPageState extends State<SelectClinicPage> {
}
} else if (regionalViewModel.regionBottomSheetType == RegionBottomSheetType.REGION_FOR_DENTAL_AND_LASER) {
var appointmentsViewModel = Provider.of<BookAppointmentsViewModel>(context, listen: false);
var id =getProjectId(regionalViewModel);
regionalViewModel.setBottomSheetState(AppointmentViaRegionState.DOCTOR_SELECTION);
appointmentsViewModel.setProjectID(regionalViewModel.selectedHospital?.hospitalList.first.iD?.toString() ?? "");
appointmentsViewModel.setProjectID(id);
regionalViewModel.handleLastStepForClinicForDentalAndLaser(appointmentsViewModel.selectedClinic.clinicID ?? -1);
}
},
@ -1379,4 +1381,17 @@ class _SelectClinicPageState extends State<SelectClinicPage> {
callBackFunc: () {},
);
}
String getProjectId(AppointmentViaRegionViewmodel regionalViewModel) {
try {
if(regionalViewModel.selectedHospital?.patientDoctorAppointmentList?.isNotEmpty ?? false) {
return regionalViewModel.selectedHospital!.patientDoctorAppointmentList?.first.projectID?.toString() ?? "";
} else if(regionalViewModel.selectedHospital?.hospitalList.isNotEmpty ?? false) {
return regionalViewModel.selectedHospital!.hospitalList.first.iD?.toString() ?? "";
}
} on Exception catch (e) {
}
return "";
}
}

@ -53,7 +53,7 @@ class _SelectDoctorPageState extends State<SelectDoctorPage> {
bookAppointmentsViewModel.getLiveCareDoctorsList();
} else {
if (bookAppointmentsViewModel.selectedClinic.clinicID == 17) {
if (appState.getAuthenticatedUser()!.age! > 12) {
if (appState.isAuthenticated && appState.getAuthenticatedUser()!.age! > 12) {
bookAppointmentsViewModel.getDentalChiefComplaintDoctorsList();
} else {
bookAppointmentsViewModel.getDoctorsList(isNearest: false);

@ -278,7 +278,7 @@ class _AppointmentCalendarState extends State<AppointmentCalendar> {
bookAppointmentsViewModel.setProjectID(bookAppointmentsViewModel.selectedDoctor.projectID.toString());
bookAppointmentsViewModel.setSelectedClinic(selectedClinic);
bookAppointmentsViewModel.setIsChiefComplaintsListLoading(true);
if(appState.getAuthenticatedUser()!.age! > 12) {
if(appState.isAuthenticated && appState.getAuthenticatedUser()!.age! > 12) {
Navigator.of(context).push(
CustomPageRoute(
page: DentalChiefComplaintsPage(),

Loading…
Cancel
Save