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.
66 lines
2.5 KiB
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);
|
|
}
|
|
}
|