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)); } }