import 'dart:convert'; import 'dart:developer'; import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/core/model/geofencing/requests/GeoZonesRequestModel.dart'; import 'package:diplomaticquarterapp/core/model/geofencing/requests/LogGeoZoneRequestModel.dart'; import 'package:diplomaticquarterapp/core/model/geofencing/responses/GeoZonesResponseModel.dart'; import 'package:diplomaticquarterapp/core/model/geofencing/responses/LogGeoZoneResponseModel.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; import '../../../locator.dart'; class GeofencingServices extends BaseService { List geoZones = List(); Future> getAllGeoZones(GeoZonesRequestModel request) async { hasError = false; await baseAppClient.post(GET_GEO_ZONES, onSuccess: (dynamic response, int statusCode) { response['GeoF_PointsList'].forEach((json) { geoZones.add(GeoZonesResponseModel().fromJson(json)); }); }, onFailure: (String error, int statusCode) { hasError = true; return Future.error(error); }, body: request.toFlatMap()); return geoZones; } LogGeoZoneResponseModel logResponse; Future logGeoZone(LogGeoZoneRequestModel request) async { hasError = false; await baseAppClient.post(LOG_GEO_ZONES, onSuccess: (dynamic response, int statusCode) { logResponse = LogGeoZoneResponseModel().fromJson(response); }, onFailure: (String error, int statusCode) { hasError = true; return Future.error(error); }, body: request.toFlatMap()); return logResponse; } }