import 'package:diplomaticquarterapp/client/base_app_client.dart'; import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/models/Appointments/InsertAppointmentRequest.dart'; import 'package:diplomaticquarterapp/models/Request.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; class DoctorsListService { AppSharedPreferences sharedPref = AppSharedPreferences(); AppGlobal appGlobal = new AppGlobal(); Future getDoctorsList(int clinicID, int projectID) async { Map request; var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); request = { "LanguageID": languageID == 'ar' ? 1 : 2, "IPAdress": "10.20.10.20", "VersionID": req.VersionID, "Channel": req.Channel, "generalid": 'Cs2020@2016\$2958', "PatientOutSA": 0, "TokenID": "@dm!n", "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "ClinicID": clinicID, "ProjectID": 0, "ContinueDentalPlan": false, "IsSearchAppointmnetByClinicID": true, "PatientID": 0, "gender": 0, "age": 0, "IsGetNearAppointment": false, "Latitude": 0, "Longitude": 0, "License": true }; dynamic localRes; await BaseAppClient.post(GET_DOCTORS_LIST_URL, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future getDoctorsListByName(String docName) async { Map request; var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); request = { "LanguageID": languageID == 'ar' ? 1 : 2, "IPAdress": "10.20.10.20", "VersionID": req.VersionID, "Channel": req.Channel, "generalid": 'Cs2020@2016\$2958', "PatientOutSA": 0, "TokenID": "", "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "ClinicID": 0, "ProjectID": 0, "ContinueDentalPlan": false, "IsSearchAppointmnetByClinicID": false, "DoctorName": docName, "PatientID": 0, "gender": 0, "age": 0, "IsGetNearAppointment": false, "Latitude": 0, "Longitude": 0, "License": true }; dynamic localRes; await BaseAppClient.post(GET_DOCTORS_LIST_URL, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future getDoctorsProfile(int docID, int clinicID, int projectID) async { Map request; var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); request = { "LanguageID": languageID == 'ar' ? 1 : 2, "IPAdress": "10.20.10.20", "VersionID": req.VersionID, "Channel": req.Channel, "generalid": 'Cs2020@2016\$2958', "PatientOutSA": 0, "TokenID": "", "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "doctorID": docID, "ClinicID": clinicID, "PatientID": 0, "License": true, "IsRegistered": true, "ProjectID": projectID, "isDentalAllowedBackend": false }; dynamic localRes; await BaseAppClient.post(GET_DOCTOR_PROFILE, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future getDoctorFreeSlots(int docID, int clinicID, int projectID) async { Map request; var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); request = { "DoctorID": docID, "IsBookingForLiveCare": 0, "ClinicID": clinicID, "ProjectID": projectID, "OriginalClinicID": clinicID, "days": 0, "isReschadual": false, "VersionID": req.VersionID, "Channel": 3, "LanguageID": languageID == 'ar' ? 1 : 2, "IPAdress": "10.20.10.20", "generalid": "Cs2020@2016\$2958", "PatientOutSA": 0, "SessionID": null, "isDentalAllowedBackend": false, "DeviceTypeID": 1 }; dynamic localRes; await BaseAppClient.post(GET_DOCTOR_FREE_SLOTS, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future insertAppointment(int docID, int clinicID, int projectID, String selectedTime, String selectedDate) async { Map request; var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); InsertAppointmentRequest insertAppointmentRequest = new InsertAppointmentRequest(); insertAppointmentRequest.VersionID = req.VersionID; insertAppointmentRequest.Channel = "3"; insertAppointmentRequest.LanguageID = languageID == 'ar' ? 1 : 2; insertAppointmentRequest.IPAdress = "10.20.10.20"; insertAppointmentRequest.generalid = "Cs2020@2016\$2958"; insertAppointmentRequest.PatientOutSA = 0; insertAppointmentRequest.SessionID = ""; insertAppointmentRequest.isDentalAllowedBackend = false; insertAppointmentRequest.DeviceTypeID = 1; insertAppointmentRequest.DeviceType = "Android"; insertAppointmentRequest.DoctorID = docID; insertAppointmentRequest.ClinicID = clinicID; insertAppointmentRequest.ProjectID = projectID; insertAppointmentRequest.IsForLiveCare = false; insertAppointmentRequest.BookedBy = 102; insertAppointmentRequest.IsVirtual = false; insertAppointmentRequest.PatientID = "1231755"; insertAppointmentRequest.VisitFor = 1; insertAppointmentRequest.VisitType = 1; insertAppointmentRequest.PatientType = 1; insertAppointmentRequest.PatientTypeID = 1; insertAppointmentRequest.InitialSlotDuration = 0; insertAppointmentRequest.EndTime = selectedTime; insertAppointmentRequest.StartTime = selectedTime; insertAppointmentRequest.SelectedTime = selectedTime; insertAppointmentRequest.StrAppointmentDate = selectedDate; dynamic localRes; await BaseAppClient.post(GET_DOCTOR_FREE_SLOTS, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } }