You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/lib/core/viewModels/er/EdOnlineViewModel.dart

66 lines
2.5 KiB
Dart

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<HospitalService>();
EdOnlineServices _edOnlineServices = locator<EdOnlineServices>();
List<HospitalsModel> get hospitals => _hospitalService.hospitals;
List<TriageQuestionsModel> 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<TriageQuestionsModel>? 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);
}
}