summaryrefslogtreecommitdiff
path: root/lib/services/local_shift_provider_service.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/services/local_shift_provider_service.dart')
-rw-r--r--lib/services/local_shift_provider_service.dart18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/services/local_shift_provider_service.dart b/lib/services/local_shift_provider_service.dart
index 263d747..2d00a1e 100644
--- a/lib/services/local_shift_provider_service.dart
+++ b/lib/services/local_shift_provider_service.dart
@@ -8,9 +8,7 @@ import 'package:in_date_utils/in_date_utils.dart' as DateUtilities;
import 'package:path_provider/path_provider.dart';
class LocalShiftProviderService extends IProgramProviderService {
- LocalShiftProviderService() {
- writeShiftsFromFile([]);
- }
+ LocalShiftProviderService() {}
Future<String> get _localPath async {
final directory = await getApplicationDocumentsDirectory();
@@ -19,6 +17,15 @@ class LocalShiftProviderService extends IProgramProviderService {
Future<File> get _localFile async {
final path = await _localPath;
+ File file = File('$path/shifts.json');
+
+ bool exists = await file.exists();
+ if (!exists) {
+ print('created shifts.json');
+ await file.create();
+ await writeShiftsFromFile([]);
+ }
+
return File('$path/shifts.json');
}
@@ -67,16 +74,17 @@ class LocalShiftProviderService extends IProgramProviderService {
}
@override
- Future<void> addShift(Shift shift) async {
+ Future<bool> addShift(Shift shift) async {
List<Shift> savedShifts = await readShiftsFromFile();
for (var item in savedShifts) {
if (DateUtilities.DateUtils.isSameDay(shift.start, item.start)) {
- return;
+ return false;
}
}
savedShifts.add(shift);
await writeShiftsFromFile(savedShifts);
+ return true;
}
@override