@ -2,9 +2,14 @@ import 'package:badges/badges.dart' as badge_import;
import ' package:diplomaticquarterapp/Constants.dart ' ;
import ' package:diplomaticquarterapp/core/viewModels/project_view_model.dart ' ;
import ' package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart ' ;
import ' package:diplomaticquarterapp/models/InPatientServices/get_inpatient_advance_requests_response_model.dart ' ;
import ' package:diplomaticquarterapp/pages/InPatientServices/inpatient_advance_payment.dart ' ;
import ' package:diplomaticquarterapp/pages/ToDoList/ToDo.dart ' ;
import ' package:diplomaticquarterapp/pages/medical/balance/advance_payment_page.dart ' ;
import ' package:diplomaticquarterapp/pages/medical/balance/my_balance_page.dart ' ;
import ' package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart ' ;
import ' package:diplomaticquarterapp/uitl/app_toast.dart ' ;
import ' package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart ' ;
import ' package:diplomaticquarterapp/uitl/translations_delegate_base.dart ' ;
import ' package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart ' ;
import ' package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart ' ;
@ -17,6 +22,8 @@ class PaymentService extends StatelessWidget {
ToDoCountProviderModel model ;
ProjectViewModel projectViewModel ;
InPatientAdvanceResponseModel inPatientAdvanceResponseModel ;
@ override
Widget build ( BuildContext context ) {
projectViewModel = Provider . of ( context ) ;
@ -144,9 +151,55 @@ class PaymentService extends StatelessWidget {
) ,
) ,
) ;
medical . add (
InkWell (
onTap: ( ) {
if ( projectViewModel . isPatientAdmitted ) {
getInPatientAdvancePaymentRequests ( context ) ;
projectViewModel . analytics . advancePayments . payment_services ( service_type: ' inpatient advance payment ' ) ;
} else {
AppToast . showErrorToast ( message: TranslationBase . of ( context ) . onlyAdmitted ) ;
}
} ,
child: MedicalProfileItem (
title: " InPatient " ,
imagePath: ' assets/images/inpatient_advance.png ' ,
subTitle: " Advance Payment " ,
isPngImage: true ,
width: 45.0 ,
height: 45.0 ,
) ,
) ,
) ;
return medical ;
}
void getInPatientAdvancePaymentRequests ( BuildContext context ) {
ClinicListService service = new ClinicListService ( ) ;
GifLoaderDialogUtils . showMyDialog ( context ) ;
service
. getInPatientAdvancePaymentRequests ( projectViewModel . inPatientProjectID , projectViewModel . isPatientAdmitted ? projectViewModel . getAdmissionInfoResponseModel . admissionNo : 0 ,
projectViewModel . isPatientAdmitted ? projectViewModel . getAdmissionInfoResponseModel . admissionRequestNo : projectViewModel . getAdmissionRequestInfoResponseModel . admissionRequestNo , context )
. then ( ( res ) {
GifLoaderDialogUtils . hideDialog ( context ) ;
if ( res [ " MessageStatus " ] = = 1 ) {
if ( res [ ' responseInpatient ' ] ! = null ) {
inPatientAdvanceResponseModel = InPatientAdvanceResponseModel . fromJson ( res [ " responseInpatient " ] ) ;
Navigator . push ( context , FadePage ( page: InPatientAdvancePayment ( inPatientAdvanceResponseModel: inPatientAdvanceResponseModel ) ) ) ;
} else {
AppToast . showErrorToast ( message: TranslationBase . of ( context ) . noData ) ;
}
} else {
AppToast . showErrorToast ( message: res [ " endUserMessage " ] ) ;
}
} ) . catchError ( ( err ) {
GifLoaderDialogUtils . hideDialog ( context ) ;
print ( err ) ;
} ) ;
}
navigateToToDoPage ( BuildContext context ) {
if ( projectViewModel . isLogin ) {
/ / if ( model . count ! = 0 ) {