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/medical/EyeViewModel.dart

47 lines
1.6 KiB
Dart

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';
class EyeViewModel extends BaseViewModel {
EyeService _eyeService = locator<EyeService>();
List<AppoimentAllHistoryResultList> get appoimentAllHistoryResultList =>
_eyeService.appoimentAllHistoryResultList;
List<AppointmentFilter> appointmentFilter = List();
getEyeMeasurement() async {
setState(ViewState.Busy);
await _eyeService.getEyeMeasurement();
if (_eyeService.hasError) {
error = _eyeService.error;
setState(ViewState.Error);
} else {
_eyeService.appoimentAllHistoryResultList.forEach((element) {
List<AppointmentFilter> _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);
}
}
}