From 00bf8823311c067f5b0e9a785a5048e6bd8ad122 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Tue, 16 Aug 2022 11:19:49 +0200 Subject: ok --- lib/services/mock_program_provider_service.dart | 90 +++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 lib/services/mock_program_provider_service.dart (limited to 'lib/services/mock_program_provider_service.dart') diff --git a/lib/services/mock_program_provider_service.dart b/lib/services/mock_program_provider_service.dart new file mode 100644 index 0000000..5a1f9f4 --- /dev/null +++ b/lib/services/mock_program_provider_service.dart @@ -0,0 +1,90 @@ +import 'package:training_planner/services/ishift_provider_service.dart'; +import 'package:training_planner/shift.dart'; +import 'package:uuid/uuid.dart'; +import 'package:in_date_utils/in_date_utils.dart' as DateUtilities; + +class MockShiftProviderService extends IProgramProviderService { + List savedShifts = []; + + MockShiftProviderService() { + List shifts = []; + + shifts.add(Shift( + end: DateTime(2022, 8, 8, 20, 30), + start: DateTime(2022, 8, 8, 16, 30), + type: ShiftType.Avondrit)); + + shifts.add(Shift( + end: DateTime(2022, 8, 6, 20, 30), + start: DateTime(2022, 8, 6, 16, 30), + type: ShiftType.Avondrit)); + + shifts.add(Shift( + end: DateTime(2022, 8, 5, 20, 30), + start: DateTime(2022, 8, 5, 16, 30), + type: ShiftType.Avondrit)); + + shifts.add( + Shift(start: DateTime(2022, 8, 4, 16, 30), type: ShiftType.Avondrit)); + + shifts.add(Shift( + end: DateTime(2022, 8, 1, 17, 30), + start: DateTime(2022, 8, 1, 9, 30), + type: ShiftType.Dagrit)); + + shifts.add( + Shift(start: DateTime(2022, 8, 22, 9, 30), type: ShiftType.Dagrit)); + + shifts.add(Shift( + start: DateTime.now().subtract(Duration(hours: 2)), + type: ShiftType.Dagrit)); + + savedShifts = shifts; + } + + @override + Future updateShift(Shift shift) async { + for (var item in savedShifts) { + if (DateUtilities.DateUtils.isSameDay(shift.start, item.start)) { + item.isActive = shift.isActive; + item.start = item.start; + item.end = item.end; + item.type = item.type; + break; + } + } + } + + @override + Future addShift(Shift shift) async { + for (var item in savedShifts) { + if (DateUtilities.DateUtils.isSameDay(shift.start, item.start)) { + return; + } + } + savedShifts.add(shift); + } + + @override + Future> getPastShifts() async { + List shifts = savedShifts; + shifts.sort((a, b) => a.start.compareTo(b.start)); + + return shifts; + } + + @override + Future> getShiftsForWeek(DateTime firstDayOfWeek) async { + var items = await getPastShifts(); + List result = []; + + for (var item in items) { + if (DateUtilities.DateUtils.firstDayOfWeek(item.start) == + firstDayOfWeek) { + result.add(item); + } + } + + return result; + } +} -- cgit v1.2.3-70-g09d2