Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
318 righe
8.9 KiB
318 righe
8.9 KiB
import 'dart:convert'; |
|
|
|
import 'package:flutter/material.dart'; |
|
import 'package:flutter_easyloading/flutter_easyloading.dart'; |
|
|
|
import '../private/constant/globals.dart' as globals; |
|
import 'package:http/http.dart' as http; |
|
|
|
class ApiService { |
|
dynamic getData(int id, String link, int scegliLink) async { |
|
var ritorno; |
|
var test; |
|
EasyLoading.show(); |
|
var url; |
|
try { |
|
if (scegliLink == 0) { |
|
url = Uri.parse(globals.url_endpoint + globals.dettaglioPratica + id.toString()); |
|
} else { |
|
url = Uri.parse(globals.url_endpointNotification + link); |
|
} |
|
|
|
var response = await http.get(url, headers: globals.headers); |
|
test = json.decode(utf8.decode(response.bodyBytes)); |
|
print(test); |
|
switch (response.statusCode) { |
|
case 200: |
|
ritorno = {"result": test['result'], "statusCode": response.statusCode}; |
|
break; |
|
case 401: |
|
ritorno = {"result": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
default: |
|
throw Exception(response.reasonPhrase); |
|
} |
|
} on Exception catch (_) { |
|
EasyLoading.dismiss(); |
|
rethrow; |
|
} |
|
EasyLoading.dismiss(); |
|
return ritorno; |
|
} |
|
|
|
dynamic getNotifiche() async { |
|
var ritorno; |
|
var test; |
|
EasyLoading.show(); |
|
|
|
try { |
|
var url = Uri.parse(globals.url_endpoint + globals.notifiche); |
|
|
|
var response = await http.get(url, headers: globals.headers); |
|
test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
switch (response.statusCode) { |
|
case 200: |
|
ritorno = test; |
|
break; |
|
case 401: |
|
ritorno = test; |
|
break; |
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
} on Exception catch (_) { |
|
EasyLoading.dismiss(); |
|
rethrow; |
|
} |
|
|
|
EasyLoading.dismiss(); |
|
return ritorno; |
|
} |
|
|
|
Future<dynamic> addPtLatLot( |
|
String latitude, |
|
String longitude, |
|
String id, |
|
BuildContext context, |
|
) async { |
|
dynamic sendPost; |
|
EasyLoading.show(); |
|
var ritorno; |
|
if (latitude.trim() != "" && longitude.trim() != "" && id.trim() != "") { |
|
sendPost = jsonEncode({ |
|
"latitude": latitude, |
|
"longitude": longitude, |
|
"water_drawing_derivation_id": id, |
|
}); |
|
var url = Uri.parse(globals.url_endpoint + globals.saveLocation); |
|
|
|
var response = await http.post(url, body: sendPost, headers: globals.headers); |
|
|
|
var test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
EasyLoading.dismiss(); |
|
switch (response.statusCode) { |
|
case 200: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Salvataggio avvenuto con successo", "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 401: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 400: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 500: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Attenzione salvataggio non andato a buon fine riprovare", "statusCode": response.statusCode}; |
|
break; |
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
|
|
EasyLoading.dismiss(); |
|
return ritorno; |
|
} else { |
|
EasyLoading.dismiss(); |
|
return "Controllare i dati inseriti"; |
|
} |
|
} |
|
|
|
Future<void> setNotification( |
|
String read_by_user, |
|
BuildContext context, |
|
) async { |
|
dynamic sendPost; |
|
if (read_by_user.trim().isNotEmpty) { |
|
var url = Uri.parse(globals.url_endpoint + globals.setNotification + read_by_user); |
|
var response = await http.post(url, body: sendPost, headers: globals.headers); |
|
} |
|
} |
|
|
|
Future<dynamic> addPtDerivazione( |
|
String volume, |
|
String portata, |
|
String id, |
|
BuildContext context, |
|
) async { |
|
var ritorno; |
|
dynamic sendPost; |
|
EasyLoading.show(); |
|
if (volume.trim() != "" && portata.trim() != "" && id.trim() != "") { |
|
sendPost = jsonEncode({ |
|
"volume": volume, |
|
"portata": portata, |
|
"water_drawing_derivation_id": id, |
|
}); |
|
var url = Uri.parse(globals.url_endpoint + globals.savePuntoDerivazione); |
|
|
|
var response = await http.post(url, body: sendPost, headers: globals.headers); |
|
|
|
var test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
switch (response.statusCode) { |
|
case 200: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Salvataggio avvenuto con successo", "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 401: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 500: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Attenzione salvataggio non andato a buon fine riprovare", "statusCode": response.statusCode}; |
|
|
|
break; |
|
|
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
|
|
EasyLoading.dismiss(); |
|
return ritorno; |
|
} else { |
|
return ritorno = {"stringa": "Attenzione controllare i dati inseriti", "statusCode": 500}; |
|
} |
|
} |
|
|
|
Future<dynamic> addMisurazioneStrumenti(String volume, String id, BuildContext context) async { |
|
dynamic sendPost; |
|
EasyLoading.show(); |
|
if (volume.trim() != "" && id.trim() != "") { |
|
sendPost = jsonEncode({ |
|
"volume": volume, |
|
"water_drawing_meter_id": id, |
|
}); |
|
var url = Uri.parse(globals.url_endpoint + globals.saveMisuration); |
|
|
|
var response = await http.post(url, body: sendPost, headers: globals.headers); |
|
|
|
dynamic ritorno; |
|
|
|
var test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
switch (response.statusCode) { |
|
case 200: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Salvataggio avvenuto con successo", "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 401: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 500: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": "Attenzione salvataggio non andato a buon fine riprovare", "statusCode": response.statusCode}; |
|
|
|
break; |
|
|
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
|
|
EasyLoading.dismiss(); |
|
|
|
return ritorno; |
|
} else { |
|
EasyLoading.dismiss(); |
|
return "Controllare i dati inseriti"; |
|
} |
|
} |
|
|
|
Future<dynamic> getMisurazioni(String id, BuildContext context) async { |
|
EasyLoading.show(); |
|
late var ritorno; |
|
var url = Uri.parse(globals.url_endpoint + globals.getMisuration + "/" + id); |
|
var response = await http.get(url, headers: globals.headers); |
|
var test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
switch (response.statusCode) { |
|
case 200: |
|
EasyLoading.dismiss(); |
|
ritorno = { |
|
"stringa": test['message'].toString(), |
|
"statusCode": response.statusCode, |
|
"WaterDaringMeasurements": test['WaterDaringMeasurements'] |
|
}; |
|
|
|
break; |
|
case 401: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 500: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['message'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
|
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
EasyLoading.dismiss(); |
|
|
|
return ritorno; |
|
} |
|
|
|
Future<dynamic> getDerivazione(String id) async { |
|
EasyLoading.show(); |
|
late var ritorno; |
|
var url = Uri.parse(globals.url_endpoint + globals.getDerivation + "/" + id); |
|
try { |
|
var response = await http.get(url, headers: globals.headers); |
|
var test = json.decode(utf8.decode(response.bodyBytes)); |
|
|
|
switch (response.statusCode) { |
|
case 200: |
|
EasyLoading.dismiss(); |
|
ritorno = { |
|
"stringa": test['message'].toString(), |
|
"statusCode": response.statusCode, |
|
"WaterDrawingDerivation": test['WaterDrawingDerivation'] |
|
}; |
|
|
|
break; |
|
case 401: |
|
EasyLoading.dismiss(); |
|
|
|
ritorno = {"stringa": test['result'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
case 500: |
|
EasyLoading.dismiss(); |
|
ritorno = {"stringa": test['message'].toString(), "statusCode": response.statusCode}; |
|
|
|
break; |
|
|
|
default: |
|
EasyLoading.dismiss(); |
|
throw Exception(response.reasonPhrase); |
|
} |
|
EasyLoading.dismiss(); |
|
|
|
print(ritorno); |
|
} catch (exeption) { |
|
EasyLoading.dismiss(); |
|
} |
|
|
|
return ritorno; |
|
} |
|
}
|
|
|