From 999023e48a9deb4eda5e1d31450f366d7af4bc08 Mon Sep 17 00:00:00 2001 From: marco Date: Thu, 18 Jun 2026 23:00:45 +0200 Subject: [PATCH] created controller for alarms --- lib/service/alarm_controller.dart | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/service/alarm_controller.dart diff --git a/lib/service/alarm_controller.dart b/lib/service/alarm_controller.dart new file mode 100644 index 0000000..641b613 --- /dev/null +++ b/lib/service/alarm_controller.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +import '../model/alarm.dart'; +import '../model/repositories/interfaces/alarm_repository.dart'; + +class AlarmController extends ChangeNotifier { + AlarmController(AlarmRepository repository) : _repository = repository { + _loadAlarms(); + } + + final AlarmRepository _repository; + + final List _alarms = []; + + Future addAlarm(Alarm alarm) { + _alarms.add(alarm); + notifyListeners(); + return _repository.createAlarm(alarm); + } + + Future deleteAlarm(Alarm alarm) { + _alarms.remove(alarm); + notifyListeners(); + return _repository.deleteAlarm(alarm); + } + + Future _loadAlarms() { + _alarms.clear(); + return _repository.loadAlarms().then((value) => _alarms.addAll(value)); + } +}