import 'package:doctor_app_flutter/config/shared_pref_kay.dart'; import 'package:doctor_app_flutter/core/enum/master_lookup_key.dart'; import 'package:doctor_app_flutter/core/enum/viewstate.dart'; import 'package:doctor_app_flutter/core/model/admissionRequest/ward-model.dart'; import 'package:doctor_app_flutter/core/service/patient-admission-request-service.dart'; import 'package:doctor_app_flutter/core/viewModel/base_view_model.dart'; import 'package:doctor_app_flutter/models/SOAP/master_key_model.dart'; import '../../locator.dart'; class AdmissionRequestViewModel extends BaseViewModel{ AdmissionRequestService _admissionRequestService = locator(); List get doctorsList => _admissionRequestService.doctorsList; List get speciality => _admissionRequestService.specialityList; List get wardList => _admissionRequestService.wardList; List get admissionTypeList => _admissionRequestService.listOfAdmissionType; List get diagnosisTypesList => _admissionRequestService.diagnosisTypesList; List get allergiesList => _admissionRequestService.allergiesLookupList; String selectedLanguage; Future getLanguage() async { selectedLanguage = await sharedPref.getString(APP_Language); } Future getSpecialityList() async { await getLanguage(); await getMasterLookup(MasterKeysService.Speciality); if (!_admissionRequestService.hasError) { _admissionRequestService.setSpecialityList(); await getClinicDoctors(); } } Future getClinicDoctors() async { setState(ViewState.Busy); await _admissionRequestService.getDoctorsList(); if (_admissionRequestService.hasError) { error = _admissionRequestService.error; setState(ViewState.Error); } else setState(ViewState.Idle); } Future getWards() async { setState(ViewState.Busy); await _admissionRequestService.getWardList(); if (_admissionRequestService.hasError) { error = _admissionRequestService.error; setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); } Future getDiagnosis() async { setState(ViewState.Busy); await _admissionRequestService.getDiagnosisTypesList(); if (_admissionRequestService.hasError) { error = _admissionRequestService.error; setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); } Future getAllergies() async { await getMasterLookup(MasterKeysService.Allergies); if (!_admissionRequestService.hasError) { _admissionRequestService.setAllergies(); } } Future getMasterLookup(MasterKeysService keysService) async { setState(ViewState.Busy); await _admissionRequestService.getMasterLookup(keysService); if (_admissionRequestService.hasError) { error = _admissionRequestService.error; setState(ViewState.ErrorLocal); } else { setState(ViewState.Idle); } } }