outsourced all methods and dialogs as far as possible (I think)

This commit is contained in:
Nico
2025-05-07 21:58:24 +02:00
parent 86ffd77888
commit c86d3503fb
16 changed files with 479 additions and 257 deletions

View File

@@ -6,37 +6,26 @@ import 'package:dio/dio.dart';
import 'package:shared_preferences/shared_preferences.dart';
class HttpRequest {
int? _errorCode;
int get errorCode => _errorCode ?? 0;
Future<void> httpRequest(String httpData) async {
static Future<int> httpRequest({Map<String, dynamic>? saveDataMap, String? saveDataString}) async {
// print(jsonEncode(place));
final dio = Dio();
final SharedPreferences prefs = await SharedPreferences.getInstance();
dio.options
..connectTimeout = const Duration(seconds: 5)
..receiveTimeout = const Duration(seconds: 5)
..responseType = ResponseType.plain;
Response response = Response(requestOptions: RequestOptions(path: ''), statusCode: 400);
..connectTimeout = const Duration(seconds: 5)
..receiveTimeout = const Duration(seconds: 5)
..responseType = ResponseType.plain;
Response response =
Response(requestOptions: RequestOptions(path: ''), statusCode: 400);
try {
response = await dio.post(prefs.getString('apiAddress') ?? "",
data: jsonEncode(httpData));
data: saveDataMap == null ? saveDataString : jsonEncode(saveDataMap));
// ignore: unused_catch_clause
} on DioException catch (e) {
_errorCode = response.statusCode;
print('is hier. var: $_errorCode');
return;
return response.statusCode!;
} on DioException {
return response.statusCode ?? 400;
}
_errorCode = response.statusCode;
print('is hier 2. var: $_errorCode');
}
}

View File

@@ -4,18 +4,19 @@ import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:shared_preferences/shared_preferences.dart';
Future<void> saveFile(
Map place, String fileNameLocalization, String placeID) async {
String? selectedDirectory = await FilePicker.platform.getDirectoryPath();
SharedPreferences prefs = await SharedPreferences.getInstance();
String jsonPlace = jsonEncode(place);
class SaveFileMethod {
static Future<void> saveFile(Map<String, dynamic> place, String fileNameLocalization, String placeID) async {
String? selectedDirectory = await FilePicker.platform.getDirectoryPath();
SharedPreferences prefs = await SharedPreferences.getInstance();
String jsonPlace = jsonEncode(place);
if (selectedDirectory == null) {
return;
if (selectedDirectory == null) {
return;
}
await prefs.setString('saveDir', selectedDirectory);
File file = File('$selectedDirectory/$fileNameLocalization-$placeID.txt');
await file.writeAsString(jsonPlace);
}
await prefs.setString('saveDir', selectedDirectory);
File file = File('$selectedDirectory/$fileNameLocalization-$placeID.txt');
await file.writeAsString(jsonPlace);
}

View File

@@ -0,0 +1,21 @@
import 'package:fforte/methods/place_db_helper.dart';
class SaveMainEntryMethod {
static void saveEntry(
{required Map<String, dynamic> entryData,
required bool isTemplate,
bool sent = false}) async {
var placeDB = PlaceDBHelper();
// Get the ID of the newly added or updated place
int newPlaceId = await placeDB.addMainEntry(entryData);
if (sent == true) {
placeDB.updateSent(newPlaceId); // Update 'Sent' using the correct ID
}
if (isTemplate) {
await placeDB.deleteTemplateById(entryData["CID"]);
}
}
}