add import export and items

This commit is contained in:
atseirjo
2026-10-28 08:10:55 +01:00
parent 07a1bb02fd
commit 4a1731f986
22 changed files with 1118 additions and 106 deletions
+24 -21
View File
@@ -36,13 +36,22 @@ class AnwendungController extends GetxController {
filament.value = filamente.firstWhereOrNull(
(item) => item.filamentId == filamentId,
);
anwendungen.assignAll(
storage
.getModelList(storageKey)
.map(AnwendungModel.fromJson)
.where((item) => item.filamentId == filamentId),
);
anwendungen.sort((a, b) => b.erstelltAm.compareTo(a.erstelltAm));
final profiles =
storage
.getModelList(storageKey)
.map(AnwendungModel.fromJson)
.where((item) => item.filamentId == filamentId)
.toList()
..sort((a, b) => b.erstelltAm.compareTo(a.erstelltAm));
if (profiles.isNotEmpty) {
final profile = profiles.first;
anwendungen.assignAll([profile]);
druckbettController.text = profile.druckbettTemperatur.toString();
druckController.text = profile.druckTemperatur.toString();
bauraumController.text = profile.bauraumTemperatur?.toString() ?? '';
sonstigesController.text = profile.sonstiges;
bauraumGeschlossen.value = profile.bauraumGeschlossen;
}
}
Future<void> saveAnwendung() async {
@@ -51,10 +60,11 @@ class AnwendungController extends GetxController {
isSaving.value = true;
message.value = null;
try {
final existing = anwendungen.firstOrNull;
final entry = AnwendungModel(
anwendungId: const Uuid().v4(),
anwendungId: existing?.anwendungId ?? const Uuid().v4(),
filamentId: filamentId,
erstelltAm: DateTime.now(),
erstelltAm: existing?.erstelltAm ?? DateTime.now(),
druckbettTemperatur: InputValidators.number(druckbettController.text)!,
druckTemperatur: InputValidators.number(druckController.text)!,
bauraumGeschlossen: bauraumGeschlossen.value,
@@ -62,9 +72,11 @@ class AnwendungController extends GetxController {
sonstiges: sonstigesController.text.trim(),
);
final entries = storage.getModelList(storageKey);
await storage.saveModelList(storageKey, [...entries, entry.toJson()]);
anwendungen.insert(0, entry);
resetForm();
await storage.saveModelList(storageKey, [
...entries.where((item) => item['filamentId'] != filamentId),
entry.toJson(),
]);
anwendungen.assignAll([entry]);
hasError.value = false;
message.value = 'Verarbeitungsprofil gespeichert.';
} catch (_) {
@@ -75,15 +87,6 @@ class AnwendungController extends GetxController {
}
}
void resetForm() {
formKey.currentState?.reset();
druckbettController.clear();
druckController.clear();
bauraumController.clear();
sonstigesController.clear();
bauraumGeschlossen.value = false;
}
@override
void onClose() {
druckbettController.dispose();