Finished custom sorting of deliveries

This commit is contained in:
Dennis Nemec
2026-01-07 15:19:34 +01:00
parent 9111dc92db
commit 622967e5c1
8 changed files with 369 additions and 41 deletions

View File

@ -0,0 +1,53 @@
import 'dart:convert';
import 'dart:io';
import 'package:hl_lieferservice/model/tour.dart';
import 'package:path_provider/path_provider.dart';
import '../model/sorting_information.dart';
class ReorderService {
get _path async {
final dir = await getApplicationDocumentsDirectory();
final date = DateTime.now();
final filename =
"custom_sort_${date.year}_${date.month}_${date.day}.json";
final path = "${dir.path}/$filename";
return path;
}
Future<File> get _file async {
final path = await _path;
final file = File(path);
return file;
}
Future<void> saveSortingInformation(SortingInformationContainer container) async {
(await _file).writeAsString(jsonEncode(container.toJson()));
}
Future<void> initializeTour(Tour tour) async {
(await _file).create();
SortingInformationContainer container = SortingInformationContainer(sorting: []);
for (final (index, delivery) in tour.deliveries.indexed) {
container.sorting.add(
SortingInformation(deliveryId: delivery.id, position: index),
);
}
(await _file).writeAsString(jsonEncode(container.toJson()));
}
bool orderInformationExist() {
return false;
}
Future<SortingInformationContainer> loadSortingInformation() async {
return SortingInformationContainer.fromJson(
jsonDecode(await (await _file).readAsString()),
);
}
}