44 lines
903 B
Dart
44 lines
903 B
Dart
import 'package:flisp_app/models/calendar.dart';
|
|
import 'package:hive_flutter/hive_flutter.dart';
|
|
|
|
class CalendarService {
|
|
static const String boxName = 'calendars';
|
|
|
|
Box<Calendar> get box => Hive.box<Calendar>(boxName);
|
|
|
|
Future<bool> addCalendar(Calendar calendar) async {
|
|
try {
|
|
await box.add(calendar);
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
List<Calendar> getAllCalendars() {
|
|
return box.values.toList();
|
|
}
|
|
|
|
Calendar getCalendarById(int id) {
|
|
return box.values.firstWhere((calendar) => calendar.id == id);
|
|
}
|
|
|
|
Future<bool> updateCalendar(Calendar calendar) async {
|
|
try {
|
|
await calendar.save();
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Future<bool> deleteCalendar(Calendar calendar) async {
|
|
try {
|
|
await calendar.delete();
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|