import 'package:sqflite/sqflite.dart';
import 'package:vida_natural_project/Cadastro/produto.dart';
import '../database.dart';
class ProductDao {
static const String tableSql = 'CREATE TABLE $_tableName('
'$_id INTEGER PRIMARY KEY, '
'$_nome TEXT, '
'$_venda DECIMAL(6,2), '
'$_custo DECIMAL(6,2), '
'$_peso INT(8), '
'$_codigo INT(13), '
'$_quantidade INT(20) )';
static const String _tableName = 'produtos';
static const String _id = 'id';
static const String _nome = 'nome';
static const String _venda = 'venda';
static const String _custo = 'custo';
static const String _peso = 'peso'
static const String _codigo = 'codigo';
static const String _quantidade = 'quantidade';
Future<int> save(Produto produto) async {
final Database db = await getDatabase();
Map<String, dynamic> produtoMap = _toMap(produto);
return db.insert(_tableName, produtoMap);
}
Future<List<Produto>> findAll() async {
final Database db = await getDatabase();
final List<Map<String, dynamic>> result = await db.query(_tableName);
List<Produto> produtos = _toList(result);
return produtos;
}
Map<String, dynamic> _toMap(Produto produto) {
final Map<String, dynamic> produtoMap = Map();
produtoMap[_nome] = produto.nome;
produtoMap[_venda] = produto.venda;
produtoMap[_custo] = produto.custo;
produtoMap[_peso] = produto.peso;
produtoMap[_codigo] = produto.codigo;
produtoMap[_quantidade] = produto.quantidade;
return produtoMap;
}
List<Produto> _toList(List<Map<String, dynamic>> result) {
final List<Produto> produtos = List();
for (Map<String, dynamic> row in result) {
final Produto produto = Produto(
row[_id],
row[_nome],
row[_venda],
row[_custo],
row[_peso],
row[_codigo],
row[_quantidade],
);
produtos.add(produto);
}
return produtos;
}
}