27 lines
831 B
Dart
27 lines
831 B
Dart
import 'package:sqflite/sqflite.dart';
|
|
import '../models/product_model.dart';
|
|
import 'database_helper.dart';
|
|
|
|
class ProductRepository {
|
|
final DatabaseHelper _dbHelper = DatabaseHelper();
|
|
|
|
Future<List<Product>> getAllProducts() async {
|
|
final db = await _dbHelper.database;
|
|
final List<Map<String, dynamic>> maps = await db.query('products', orderBy: 'name ASC');
|
|
return List.generate(maps.length, (i) => Product.fromMap(maps[i]));
|
|
}
|
|
|
|
Future<void> saveProduct(Product product) async {
|
|
final db = await _dbHelper.database;
|
|
await db.insert(
|
|
'products',
|
|
product.toMap(),
|
|
conflictAlgorithm: ConflictAlgorithm.replace,
|
|
);
|
|
}
|
|
|
|
Future<void> deleteProduct(String id) async {
|
|
final db = await _dbHelper.database;
|
|
await db.delete('products', where: 'id = ?', whereArgs: [id]);
|
|
}
|
|
}
|