49 lines
1005 B
Dart
49 lines
1005 B
Dart
import 'package:flisp_app/models/flisp.dart';
|
|
import 'package:hive_flutter/hive_flutter.dart';
|
|
|
|
class FlispService {
|
|
static const String boxName = 'flisps';
|
|
|
|
Box<Flisp> get box => Hive.box<Flisp>(boxName);
|
|
|
|
Future<bool> addFlisp(Flisp flisp) async {
|
|
try {
|
|
await box.add(flisp);
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
List<Flisp> getAllFlisps() {
|
|
return box.values.toList()
|
|
..sort((a, b) => b.updateTime.compareTo(a.updateTime));
|
|
}
|
|
|
|
List<Flisp> getAllFlispsByYear(int year) {
|
|
return box.values
|
|
.toList()
|
|
.where((flisp) => flisp.createTime.year == year)
|
|
.toList();
|
|
}
|
|
|
|
Future<bool> updateFlisp(Flisp flisp) async {
|
|
try {
|
|
flisp.updateTime = DateTime.now();
|
|
await flisp.save();
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
Future<bool> deleteFlisp(Flisp flisp) async {
|
|
try {
|
|
await flisp.delete();
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
}
|