Import sorgenti Flutter di Henflow (export da Nextcloud: lib/ + documenti di progetto)

This commit is contained in:
Carlo Baratto
2026-10-09 08:51:15 +02:00
commit bfd086c488
14 changed files with 4129 additions and 0 deletions
+77
View File
@@ -0,0 +1,77 @@
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
class DatabaseHelper {
static final DatabaseHelper instance = DatabaseHelper._init();
static Database? _database;
DatabaseHelper._init();
Future<Database> get database async {
if (_database != null) return _database!;
_database = await _initDB('egg_bookings.db');
return _database!;
}
Future<Database> _initDB(String filePath) async {
final dbPath = await getDatabasesPath();
final path = join(dbPath, filePath);
return openDatabase(
path,
version: 1,
onCreate: _createDB,
);
}
Future<void> _createDB(Database db, int version) async {
await db.execute('''
CREATE TABLE bookings (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
customer_name TEXT NOT NULL,
marans INTEGER NOT NULL DEFAULT 0,
araucana INTEGER NOT NULL DEFAULT 0,
olive INTEGER NOT NULL DEFAULT 0,
note TEXT NOT NULL DEFAULT ''
)
''');
}
Future<List<Map<String, dynamic>>> getAllBookings() async {
final db = await instance.database;
return db.query(
'bookings',
orderBy: 'date ASC, customer_name ASC',
);
}
Future<int> insertBooking(Map<String, dynamic> booking) async {
final db = await instance.database;
return db.insert('bookings', booking);
}
Future<int> updateBooking(Map<String, dynamic> booking) async {
final db = await instance.database;
return db.update(
'bookings',
booking,
where: 'id = ?',
whereArgs: [booking['id']],
);
}
Future<int> deleteBooking(int id) async {
final db = await instance.database;
return db.delete(
'bookings',
where: 'id = ?',
whereArgs: [id],
);
}
Future<void> close() async {
final db = await instance.database;
db.close();
}
}