Commit method
To Apply Changes For All Databases
Implementation
Future<void> Commit() async {
bool isError = false;
for (var i = 0; i < SqliteStorage.Actions.length; i++) {
try {
SqliteStorage.Actions[i].isDone = true;
SqliteStorage.Actions[i].value =
await SqliteStorage.Actions[i].action();
} catch (e) {
isError = true;
break;
}
}
if (isError) {
for (var i = 0; i < SqliteStorage.Actions.length; i++) {
if (SqliteStorage.Actions[i].isDone == true) {
SqliteStorage.Actions[i].isDone = false;
await SqliteStorage.Actions[i]
.reverse(SqliteStorage.Actions[i].value);
}
}
}
for (var item in SqliteStorage.Actions) {}
}