import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart'; import 'package:diplomaticquarterapp/core/model/eye/AppointmentFilter.dart'; import 'package:diplomaticquarterapp/core/service/medical/EyeService.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; class EyeViewModel extends BaseViewModel { EyeService _eyeService = locator(); List get appoimentAllHistoryResultList => _eyeService.appoimentAllHistoryResultList; List appointmentFilter = List(); getEyeMeasurement() async { setState(ViewState.Busy); await _eyeService.getEyeMeasurement(); if (_eyeService.hasError) { error = _eyeService.error; setState(ViewState.Error); } else { if (_eyeService.appoimentAllHistoryResultList.length == 0) { new AppToast().backWithEmpty(); } else { _eyeService.appoimentAllHistoryResultList.forEach((element) { List _appointmentFilter = appointmentFilter .where( (elementFilter) => elementFilter.filterName == element.projectName, ) .toList(); if (_appointmentFilter.length != 0) { appointmentFilter[appointmentFilter.indexOf(_appointmentFilter[0])] .appointmentAllHistoryResultList .add(element); } else { appointmentFilter.add(AppointmentFilter( element, element.projectName, )); } }); } setState(ViewState.Idle); } } sendGlassesPrescriptionEmail( {int appointmentNo, String projectName, int projectID}) async { setState(ViewState.Busy); await _eyeService.sendGlassesPrescriptionEmail( appointmentNo: appointmentNo, projectID: projectID, projectName: projectName); if (_eyeService.hasError) { error = _eyeService.error; setState(ViewState.Error); } else { setState(ViewState.Idle); } } sendContactLensPrescriptionEmail( {int appointmentNo, String projectName, int projectID}) async { setState(ViewState.Busy); await _eyeService.sendContactLensPrescriptionEmail( appointmentNo: appointmentNo, projectID: projectID, projectName: projectName); if (_eyeService.hasError) { error = _eyeService.error; setState(ViewState.Error); } else { setState(ViewState.Idle); } } }