39 lines
1.0 KiB
Dart
39 lines
1.0 KiB
Dart
import 'package:fforte/enums/databases.dart';
|
|
import 'package:fforte/interfaces/i_db.dart';
|
|
import 'package:fforte/methods/excursion_db_helper.dart';
|
|
import 'package:fforte/methods/place_db_helper.dart';
|
|
|
|
class SaveMainEntryMethod {
|
|
static void saveEntry({
|
|
required Map<String, String> entryData,
|
|
required bool isTemplate,
|
|
required DatabasesEnum dbType,
|
|
bool sent = false,
|
|
}) async {
|
|
|
|
IDb? placeDB;
|
|
|
|
if (dbType == DatabasesEnum.place) {
|
|
placeDB = PlaceDBHelper();
|
|
} else if (dbType == DatabasesEnum.excursion) {
|
|
placeDB = ExcursionDBHelper();
|
|
}
|
|
|
|
if (isTemplate) await placeDB!.deleteTemplateById(entryData["ID"]!);
|
|
|
|
int entryId;
|
|
if (entryData["ID"] == "") {
|
|
entryData.remove("ID");
|
|
entryId = await placeDB!.addMainEntry(entryData);
|
|
// await placeDB.deleteTemplateById(entryData["CID"]!);
|
|
} else {
|
|
entryId = await placeDB!.updateMainEntry(entryData);
|
|
}
|
|
|
|
if (sent == true) {
|
|
placeDB.updateSent(entryId); // Update 'Sent' using the correct ID
|
|
}
|
|
|
|
}
|
|
}
|