import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/er/ErPatientShareModel.dart'; import 'package:diplomaticquarterapp/core/model/er/TriageQuestionsModel.dart'; import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; import 'package:diplomaticquarterapp/core/service/er/EdOnlineServices.dart'; import 'package:diplomaticquarterapp/core/service/hospital_service.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; import '../../../locator.dart'; class EdOnlineViewModel extends BaseViewModel { HospitalService _hospitalService = locator(); EdOnlineServices _edOnlineServices = locator(); List get hospitals => _hospitalService.hospitals; List get triageQuestionsModelList => _edOnlineServices.triageQuestionsModelList; ErPatientShareModel get erPatientShareModel => _edOnlineServices.erPatientShareModel; Future getHospitals(int languageID) async { if(_hospitalService.hospitals.isEmpty){ setState(ViewState.Busy); await _hospitalService.getHospitals(languageID); if (_hospitalService.hasError) { error = _hospitalService.error; setState(ViewState.Error); } else setState(ViewState.Idle); } } Future getQuestions() async { if(_edOnlineServices.triageQuestionsModelList.isEmpty){ setState(ViewState.Busy); await _edOnlineServices.getQuestions(); if (_edOnlineServices.hasError) { error = _edOnlineServices.error; setState(ViewState.Error); } else setState(ViewState.Idle); } } Future getPatientPaymentInformation({var id}) async { setState(ViewState.Busy); await _edOnlineServices.getPatientPaymentInformation(); if (_edOnlineServices.hasError) { error = _edOnlineServices.error; setState(ViewState.Error); } else setState(ViewState.Idle); } Future saveQuestionsInformation( {String notes, String chiefComplaint, int projectId, DateTime selectedTime, List selectedQuestions}) async { setState(ViewState.BusyLocal); await _edOnlineServices.saveQuestionsInformation( notes: notes, projectId: projectId, chiefComplaint: chiefComplaint, selectedTime: selectedTime, selectedQuestions: selectedQuestions); if (_edOnlineServices.hasError) { error = _edOnlineServices.error; setState(ViewState.ErrorLocal); } else setState(ViewState.Idle); } }