You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/lib/services/appointment_services/GetDoctorsList.dart

205 lines
6.7 KiB
Dart

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<Map> getDoctorsList(int clinicID, int projectID) async {
Map<String, dynamic> 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<Map> getDoctorsListByName(String docName) async {
Map<String, dynamic> 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<Map> getDoctorsProfile(int docID, int clinicID, int projectID) async {
Map<String, dynamic> 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<Map> getDoctorFreeSlots(int docID, int clinicID, int projectID) async {
Map<String, dynamic> 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<Map> insertAppointment(int docID, int clinicID, int projectID, String selectedTime, String selectedDate) async {
Map<String, dynamic> 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);
}
}