Delete method
Delete Fuction For Delete Item From Database
Implementation
@override
Future<void> Delete(dynamic id) async {
SqliteStorage.Actions.add(ActionModelStorage(action: () async {
var item = await query.GetById(id);
await query.Delete(id);
return item;
}, reverse: (item) async {
var database = await SqliteCommands(sqliteData: data).DBLoad();
var items = await Get();
int id = 0;
if (table.primrayKeyType == PrimaryKeyEnum.AutoIncrement) {
if (SqliteStorage.EndId == 0) {
id = table.primrayKeyType == PrimaryKeyEnum.AutoIncrement
? (items.isEmpty ? 1 : table.primaryKeyGet(items.last) + 1)
: table.primaryKeyGet(item);
SqliteStorage.EndId = id;
} else {
SqliteStorage.EndId++;
id = SqliteStorage.EndId;
}
} else {
id = table.primrayKeyType == PrimaryKeyEnum.AutoIncrement
? (items.isEmpty ? 1 : table.primaryKeyGet(items.last) + 1)
: table.primaryKeyGet(item);
}
table.primaryKeySet(item, id);
await database.insert(table.tableName, toMap(item));
await EFPrinter.printing(
database, "Added ${table.tableName} with primary key $id", data);
}));
}