diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-17 13:54:48 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-08-17 13:54:48 +0200 |
| commit | 8ed1b574e8b5e9fc806aedc87af7aabcf73da6e6 (patch) | |
| tree | 5126fb297b9df2829b6b34f966f615183b4c73af /lib/services | |
| parent | 3d25fdc99fd37f3b5e37f25b7a38804a02130426 (diff) | |
b0.2
Diffstat (limited to 'lib/services')
| -rw-r--r-- | lib/services/ishift_provider_service.dart | 2 | ||||
| -rw-r--r-- | lib/services/local_shift_provider_service.dart | 18 | ||||
| -rw-r--r-- | lib/services/messaging_service.dart | 9 | ||||
| -rw-r--r-- | lib/services/mock_shift_provider_service.dart | 5 |
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 |
