import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:geolocator/geolocator.dart'; class HospitalService extends BaseService { List _hospitals = List(); List get hospitals => _hospitals; double _latitude; double _longitude; _getCurrentLocation() async { await Geolocator.getLastKnownPosition().then((value) { _latitude = value.latitude; _longitude = value.longitude; }).catchError((e) { _longitude = 0; _latitude = 0; }); } Future getHospitals({bool isResBasedOnLoc = true}) async { if(isResBasedOnLoc) await _getCurrentLocation(); Map body = Map(); body['Latitude'] = isResBasedOnLoc?_latitude:0; body['Longitude'] = isResBasedOnLoc?_longitude:0; body['IsOnlineCheckIn'] = isResBasedOnLoc; body['PatientOutSA'] = 0; await baseAppClient.post(GET_PROJECT, onSuccess: (dynamic response, int statusCode) { _hospitals.clear(); response['ListProject'].forEach((hospital) { _hospitals.add(HospitalsModel.fromJson(hospital)); }); }, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: body); } }