import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Request.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; class MyInvoicesService extends BaseService { AppSharedPreferences sharedPref = AppSharedPreferences(); AppGlobal appGlobal = new AppGlobal(); AuthenticatedUser authUser = new AuthenticatedUser(); AuthProvider authProvider = new AuthProvider(); Future getAllDentalAppointments(int projectID, context) async { Map request; var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); 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": authUser.outSA, "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "PatientID": authUser.patientID, "License": true, "IsRegistered": true, "ProjectID": projectID, "PatientTypeID": authUser.patientIdentificationType, "PatientType": authUser.patientType, "isDentalAllowedBackend": false }; dynamic localRes; await baseAppClient.post(GET_ALL_APPOINTMENTS_FOR_DENTAL_CLINIC, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future getDentalAppointmentInvoice(int projectID, int appoNo, int invoiceNo, context) async { Map request; var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); 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": authUser.outSA, "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "PatientID": authUser.patientID, "License": true, "AppointmentNo": appoNo, "InvoiceNo": invoiceNo, "IsRegistered": true, "ProjectID": projectID, "PatientTypeID": authUser.patientIdentificationType, "PatientType": authUser.patientType, "isDentalAllowedBackend": false }; dynamic localRes; await baseAppClient.post(GET_DENTAL_APPOINTMENT_INVOICE, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } Future sendDentalAppointmentInvoiceEmail(int projectID, int appoNo, context) async { Map request; var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); 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": authUser.outSA, "DeviceTypeID": req.DeviceTypeID, "SessionID": null, "PatientID": authUser.patientID, "License": true, "AppointmentNo": appoNo, "To": authProvider.authenticatedUserObject.user.emailAddress, "IsRegistered": true, "ProjectID": projectID, "PatientTypeID": authUser.patientIdentificationType, "PatientType": authUser.patientType, "isDentalAllowedBackend": false }; dynamic localRes; await baseAppClient.post(SEND_DENTAL_APPOINTMENT_INVOICE_EMAIL, onSuccess: (response, statusCode) async { localRes = response; }, onFailure: (String error, int statusCode) { throw error; }, body: request); return Future.value(localRes); } }