import 'dart:convert'; import 'dart:io'; import 'package:fforte/enums/databases.dart'; import 'package:fforte/screens/excursion/exceptions/file_dialog_cancelled.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:shared_preferences/shared_preferences.dart'; class SaveFileMethod { static Future saveFile( Map place, int id, String fileNameLocalization, DatabasesEnum dbType, ) async { try { String? selectedDirectory = await FilePicker.platform.getDirectoryPath(); if (selectedDirectory == null) { throw FileDialogCancelled(); } SharedPreferences prefs = await SharedPreferences.getInstance(); String jsonPlace = jsonEncode(place); await prefs.setString('saveDir', selectedDirectory); File file = File( '$selectedDirectory/$fileNameLocalization-$id-${dbType == DatabasesEnum.place ? place["CID"] : place["Datum"]!.split(" ").first}.txt', ); await file.writeAsString(jsonPlace); } catch (e) { debugPrint(e.toString()); } } }