import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:flutter/material.dart'; class SearchByClinic extends StatefulWidget { @override _SearchByClinicState createState() => _SearchByClinicState(); } class _SearchByClinicState extends State { bool nearestAppo = false; String dropdownValue; List clinicsList = []; @override void initState() { // TODO: implement initState getClinicsList(); super.initState(); } @override Widget build(BuildContext context) { return Container( margin: EdgeInsets.all(10.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Checkbox( activeColor: new Color(0xFFc5272d), value: nearestAppo, onChanged: (bool value) { setState(() { nearestAppo = value; }); }, ), Text(TranslationBase.of(context).nearestAppo, style: TextStyle(fontSize: 16.0, letterSpacing: 0.9)), ], ), Container( height: 60.0, decoration: BoxDecoration( color: Colors.white, border: Border.all( color: Colors.grey[400], width: 1.0, ), borderRadius: BorderRadius.circular(10), ), margin: EdgeInsets.fromLTRB(10.0, 20.0, 10.0, 20.0), padding: EdgeInsets.all(10.0), width: MediaQuery.of(context).size.width, child: DropdownButtonHideUnderline( child: DropdownButton( hint: new Text("Select Clinic"), value: dropdownValue, items: clinicsList.map((item) { return new DropdownMenuItem( value: item.clinicID.toString(), child: new Text(item.clinicDescription), ); }).toList(), onChanged: (newValue) { setState(() { dropdownValue = newValue; print(dropdownValue); getDoctorsList(); }); }, ), )), ], ), ); } getClinicsList() { ClinicListService service = new ClinicListService(); service.getClinicsList().then((res) { if (res['MessageStatus'] == 1) { setState(() { res['ListClinicCentralized'].forEach((v) { clinicsList.add(new ListClinicCentralized.fromJson(v)); }); }); } else {} }).catchError((err) { print(err); }); } getDoctorsList() { DoctorsListService service = new DoctorsListService(); service.getDoctorsList(int.parse(dropdownValue), 0).then((res) { print(res['DoctorList']); // if (res['MessageStatus'] == 1) { // setState(() { // res['ListClinicCentralized'].forEach((v) { // clinicsList.add(new ListClinicCentralized.fromJson(v)); // }); // }); // } else {} }).catchError((err) { print(err); }); } }