|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|