summaryrefslogtreecommitdiff
path: root/lib/services
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@amftech.nl>2022-08-17 13:54:48 +0200
committerAldrik Ramaekers <aldrik@amftech.nl>2022-08-17 13:54:48 +0200
commit8ed1b574e8b5e9fc806aedc87af7aabcf73da6e6 (patch)
tree5126fb297b9df2829b6b34f966f615183b4c73af /lib/services
parent3d25fdc99fd37f3b5e37f25b7a38804a02130426 (diff)
b0.2
Diffstat (limited to 'lib/services')
-rw-r--r--lib/services/ishift_provider_service.dart2
-rw-r--r--lib/services/local_shift_provider_service.dart18
-rw-r--r--lib/services/messaging_service.dart9
-rw-r--r--lib/services/mock_shift_provider_service.dart5
4 files changed, 26 insertions, 8 deletions
diff --git a/lib/services/ishift_provider_service.dart b/lib/services/ishift_provider_service.dart
index 7f0e6d5..68f4277 100644
--- a/lib/services/ishift_provider_service.dart
+++ b/lib/services/ishift_provider_service.dart
@@ -6,6 +6,6 @@ abstract class IProgramProviderService {
Future<List<Shift>> getPastShifts();
Future<List<Shift>> getShiftsForWeek(DateTime firstDayOfWeek);
Future<void> updateShift(Shift shift);
- Future<void> addShift(Shift shift);
+ Future<bool> addShift(Shift shift);
Future<void> deleteShift(Shift shift);
}
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
diff --git a/lib/services/messaging_service.dart b/lib/services/messaging_service.dart
new file mode 100644
index 0000000..e601abb
--- /dev/null
+++ b/lib/services/messaging_service.dart
@@ -0,0 +1,9 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+
+class MessagingService {
+ void showMessage(BuildContext context, String message) {
+ ScaffoldMessenger.of(context)
+ .showSnackBar(SnackBar(content: Text(message)));
+ }
+}
diff --git a/lib/services/mock_shift_provider_service.dart b/lib/services/mock_shift_provider_service.dart
index 8f8db3e..c7bc865 100644
--- a/lib/services/mock_shift_provider_service.dart
+++ b/lib/services/mock_shift_provider_service.dart
@@ -56,13 +56,14 @@ class MockShiftProviderService extends IProgramProviderService {
}
@override
- Future<void> addShift(Shift shift) async {
+ Future<bool> addShift(Shift shift) async {
for (var item in savedShifts) {
if (DateUtilities.DateUtils.isSameDay(shift.start, item.start)) {
- return;
+ return false;
}
}
savedShifts.add(shift);
+ return true;
}
@override