getSymptoms method
get all symptoms list
Implementation
Future<List<Symptoms>> getSymptoms() async {
Database? db = await instance.database;
final List<Map<String, dynamic>> queryResponse = await db!.rawQuery(
"Select * from $tableSymptomsData WHERE $columnIsVisibleCategory=1"); // TODO Add where condition for columnIsVisibleCategory
List<Symptoms> listSymptoms = [];
Symptoms? symptoms = Symptoms(symptomsData: <SymptomsData>[]);
int? catId = -1;
List.generate(queryResponse.length, (i) {
SymptomsData? symptomsData = SymptomsData();
if (catId == -1) {
catId = queryResponse[i][columnCategoryId];
symptoms = Symptoms();
symptoms!.categoryId = queryResponse[i][columnCategoryId];
symptoms!.categoryName = queryResponse[i][columnCategoryName];
symptoms!.categoryColor = queryResponse[i][columnCategoryColor];
symptoms!.isVisibleCategory = queryResponse[i][columnIsVisibleCategory];
}
if (catId != queryResponse[i][columnCategoryId]) {
listSymptoms.add(symptoms!);
symptoms = Symptoms();
symptoms!.categoryId = queryResponse[i][columnCategoryId];
symptoms!.categoryName = queryResponse[i][columnCategoryName];
symptoms!.categoryColor = queryResponse[i][columnCategoryColor];
symptoms!.isVisibleCategory = queryResponse[i][columnIsVisibleCategory];
catId = queryResponse[i][columnCategoryId];
} else {
symptomsData.symptomName = queryResponse[i][columnSymptomName];
symptomsData.symptomId = queryResponse[i][columnSymptomId];
symptomsData.id = queryResponse[i][columnID];
if (symptoms!.symptomsData == null) {
symptoms!.symptomsData = [];
}
symptoms!.symptomsData!.add(symptomsData);
}
});
if (symptoms != null) {
listSymptoms.add(symptoms!);
}
return listSymptoms;
}