import 'package:doctor_app_flutter/models/patient/prescription_res_model.dart'; import 'package:doctor_app_flutter/models/request_prescription_report.dart'; import 'package:doctor_app_flutter/providers/patients_provider.dart'; import 'package:doctor_app_flutter/screens/patients/profile/prescriptions/out_patient_prescription_details_item.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class OutPatientPrescriptionDetailsScreen extends StatefulWidget { final PrescriptionResModel prescriptionResModel; OutPatientPrescriptionDetailsScreen({Key key, this.prescriptionResModel}); @override _OutPatientPrescriptionDetailsScreenState createState() => _OutPatientPrescriptionDetailsScreenState(); } class _OutPatientPrescriptionDetailsScreenState extends State { bool _isInit = true; PatientsProvider patientsProvider; @override void didChangeDependencies() { super.didChangeDependencies(); if (_isInit) { patientsProvider = Provider.of(context); RequestPrescriptionReport prescriptionReqModel = RequestPrescriptionReport( appointmentNo: widget.prescriptionResModel.appointmentNo, episodeID: widget.prescriptionResModel.episodeID, setupID: widget.prescriptionResModel.setupID, patientTypeID: widget.prescriptionResModel.patientID); patientsProvider.getPrescriptionReport(prescriptionReqModel.toJson()); } _isInit = false; } @override Widget build(BuildContext context) { return AppScaffold( appBarTitle: 'Prescription Details', body: patientsProvider.isLoading ? DrAppCircularProgressIndeicator() : patientsProvider.isError ? DrAppEmbeddedError(error: patientsProvider.error) : CardWithBgWidgetNew( widget: ListView.builder( itemCount: patientsProvider.prescriptionReport.length, itemBuilder: (BuildContext context, int index) { return OutPatientPrescriptionDetailsItem( prescriptionReport: patientsProvider.prescriptionReport[index], ); }), ), ); } }