summaryrefslogtreecommitdiff
path: root/lib/providers/events_provider.dart
blob: 01b69823d57aa9d5572ddfd98b98234aa7bf969d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'package:flutter/foundation.dart';
import 'package:pmsna1/database/helper.dart';
import 'package:pmsna1/models/event.dart';
import 'package:table_calendar/table_calendar.dart';

class EventsProvider with ChangeNotifier {
  DatabaseHelper helper = DatabaseHelper();
  List<Event> _events = [];

  EventsProvider() {
    fetchDB();
  }

  List<Event> get events {
    return _events;
  }

  set events(List<Event> events) {
    _events = events;
    notifyListeners();
  }

  void fetchDB() {
    print('fetching events from DB');
    helper.getAllEvent().then((e) {
      events = e;
    });
  }

  Future<void> deleteEvent(int id) async {
    await helper.delete('events', 'id', id);
    fetchDB();
  }

  List<Event> getEventsForDay(DateTime day) {
    return events.where((e) => isSameDay(e.date, day)).toList();
  }
}