byAttribute method
Implementation
TrackedEntityInstanceQuery byAttribute(
String attributeId, String attibuteValue) {
List<QueryFilter>? existingFilterForSameAttribute = this
.attributeFilters
?.where((element) => element.attribute == attributeId)
.toList();
if (existingFilterForSameAttribute?.length == 0) {
this.attributeFilters?.add(QueryFilter(
attribute: attributeId,
condition: QueryCondition.Equal,
value: attibuteValue));
} else {
QueryFilter newQueryFilter = QueryFilter(
attribute: attributeId,
condition: QueryCondition.In,
value:
'${existingFilterForSameAttribute?[0].value};${attibuteValue}');
this
.attributeFilters
?.removeWhere((element) => element.attribute == attributeId);
this.attributeFilters?.add(newQueryFilter);
}
return this;
}