h-1.flutter.0/lib/services/department_repository.dart
2026-03-04 14:55:40 +09:00

34 lines
983 B
Dart

import 'package:sqflite/sqflite.dart';
import '../models/department_model.dart';
import 'database_helper.dart';
class DepartmentRepository {
DepartmentRepository();
final DatabaseHelper _dbHelper = DatabaseHelper();
Future<List<Department>> fetchDepartments({bool includeInactive = true}) async {
final db = await _dbHelper.database;
final rows = await db.query(
'departments',
where: includeInactive ? null : 'is_active = 1',
orderBy: 'name COLLATE NOCASE ASC',
);
return rows.map(Department.fromMap).toList();
}
Future<void> saveDepartment(Department department) async {
final db = await _dbHelper.database;
await db.insert(
'departments',
department.toMap(),
conflictAlgorithm: ConflictAlgorithm.replace,
);
}
Future<void> deleteDepartment(String departmentId) async {
final db = await _dbHelper.database;
await db.delete('departments', where: 'id = ?', whereArgs: [departmentId]);
}
}