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.
77 lines
2.5 KiB
Dart
77 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() async {
|
|
if(_hospitalService.hospitals.isEmpty){
|
|
setState(ViewState.Busy);
|
|
await _hospitalService.getHospitals();
|
|
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);
|
|
}
|
|
}
|