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

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;
}
}