deleteDictionaryHelper function
- DeleteDictionaryParams params
Clears single dictionary data from the dictionary database.
Implementation
Future<void> deleteDictionaryHelper(DeleteDictionaryParams params) async {
final Isar database = await Isar.open(
globalSchemas,
directory: params.directoryPath,
maxSizeMiB: 8192,
);
int id = params.dictionaryId!;
Dictionary dictionary = database.dictionarys.getSync(id)!;
database.writeTxnSync(() {
database.dictionarySearchResults.clearSync();
database.dictionaryEntrys
.filter()
.dictionary((q) => q.idEqualTo(id))
.deleteAllSync();
database.dictionaryTags
.filter()
.dictionary((q) => q.idEqualTo(id))
.deleteAllSync();
database.dictionaryPitchs
.filter()
.dictionary((q) => q.idEqualTo(id))
.deleteAllSync();
database.dictionaryFrequencys
.filter()
.dictionary((q) => q.idEqualTo(id))
.deleteAllSync();
database.dictionaryHeadings
.filter()
.entriesIsEmpty()
.and()
.tagsIsEmpty()
.and()
.pitchesIsEmpty()
.and()
.frequenciesIsEmpty()
.deleteAllSync();
database.dictionarys.deleteSync(dictionary.id);
});
}