From 8ed1b574e8b5e9fc806aedc87af7aabcf73da6e6 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Wed, 17 Aug 2022 13:54:48 +0200 Subject: b0.2 --- lib/services/ishift_provider_service.dart | 2 +- lib/services/local_shift_provider_service.dart | 18 +++++++++++++----- lib/services/messaging_service.dart | 9 +++++++++ lib/services/mock_shift_provider_service.dart | 5 +++-- 4 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 lib/services/messaging_service.dart (limited to 'lib/services') 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> getPastShifts(); Future> getShiftsForWeek(DateTime firstDayOfWeek); Future updateShift(Shift shift); - Future addShift(Shift shift); + Future addShift(Shift shift); Future 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 get _localPath async { final directory = await getApplicationDocumentsDirectory(); @@ -19,6 +17,15 @@ class LocalShiftProviderService extends IProgramProviderService { Future 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 addShift(Shift shift) async { + Future addShift(Shift shift) async { List 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 addShift(Shift shift) async { + Future 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 -- cgit v1.2.3-70-g09d2