import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/models/pharmacies_List_request_model.dart'; import 'package:doctor_app_flutter/providers/medicine_provider.dart'; import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart'; import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/widgets/medicine/medicine_item_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; DrAppSharedPreferances sharedPref = DrAppSharedPreferances(); class PharmaciesListScreen extends StatefulWidget { final int itemID; // In the constructor, require a item id. PharmaciesListScreen({Key key, @required this.itemID}) : super(key: key); @override _PharmaciesListState createState() => _PharmaciesListState(); } class _PharmaciesListState extends State { var _data; Helpers helpers = new Helpers(); MedicineProvider _medicineProvider; @override Widget build(BuildContext context) { _medicineProvider = Provider.of(context); pharmaciesList(); return AppScaffold( appBarTitle: "Pharmacies List", body: Column( children: [ RoundedContainer( child: !_medicineProvider.isFinished ? DrAppCircularProgressIndeicator() : _medicineProvider.hasError ? Center( child: Text( _medicineProvider.errorMsg, style: TextStyle( color: Theme.of(context).errorColor), ), ) : Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ AppText( "Description", margin: 10, fontWeight: FontWeight.bold, ), AppText( _data[0]["ItemDescription"], marginLeft: 10, marginTop: 0, marginRight: 10, marginBottom: 10, ), AppText( "Price", margin: 10, fontWeight: FontWeight.bold, ), AppText( _data[0]["SellingPrice"].toString(), marginLeft: 10, marginTop: 0, marginRight: 10, marginBottom: 10, ), ], )), Container( margin: EdgeInsets.all(SizeConfig.widthMultiplier * 5), child: Align( alignment: Alignment.centerLeft, child: AppText( "You can Find it in", fontWeight: FontWeight.bold, fontSize: SizeConfig.textMultiplier * 3, ))), Expanded( child: Container( width: SizeConfig.screenWidth * 0.80, child: ListView.builder( scrollDirection: Axis.vertical, shrinkWrap: true, itemCount: _data == null ? 0 : _data.length, itemBuilder: (BuildContext context, int index) { return InkWell( child: MedicineItemWidget( label: _data[index]["LocationDescription"], ), onTap: () { //Navigator.of(context).pushNamed(PHARMACIES_LIST); Navigator.push( context, MaterialPageRoute( builder: (context) => PharmaciesListScreen( itemID: _data[index]["ItemID"]), ), ); }, ); }, ), ), ), ], )); } Future pharmaciesList() async { _medicineProvider.getPharmaciesList(widget.itemID).then((result) { this.setState(() { _data = _medicineProvider.pharmaciesList; }); }); return true; } }