// group=1 ise ilde arama group=2 ise ilçe de arama yapıyor radiobuttondan gelen değer.
// pHigh= en yüksek puan
// pLow = en düşük puan
// query = il veya ilçe adı.
// ile işaretlenmiş bölümde kullanıcıdan gelen veriyle json dosyasındaki veriyi karşılaştırıyorum eşleşme varsa listeme ekliyorum.
Future<List<School>> filterSchools(pLow, pHigh, query, group) async {
print(group);
print(query);
String jsonString = await _loadASchoolAsset();
List<Map> myMap = List<Map>.from(json.decode(jsonString) as List);
List<School> schools = new List();
switch(group){
case 1:
for (int i=0;i<myMap.length;i++) {
if (double.tryParse(myMap[i]['enDusuk']) >= pLow &&
double.tryParse(myMap[i]['enDusuk']) < pHigh &&
// aşağıdaki satırda karşılaştırma işleminde problem yaşıyorum.
myMap[i]['sehir'].toString().toUpperCase() == query.toString().toUpperCase()) {
School school = School.fromJson(myMap[i]);
schools.add(school);
}
}
break;
case 2:
for (int i=0;i<myMap.length;i++) {
if (double.tryParse(myMap[i]['enDusuk']) >= pLow &&
double.tryParse(myMap[i]['enDusuk']) < pHigh &&
// aşağıdaki satırda karşılaştırma işleminde problem yaşıyorum.
myMap[i]['ilce'].toString().toUpperCase() == query.toString().toUpperCase()) {
School school = School.fromJson(myMap[i]);
schools.add(school);
}
}
break;
default:
for (int i=0;i<myMap.length;i++) {
if (double.tryParse(myMap[i]['enDusuk']) >= pLow &&
double.tryParse(myMap[i]['enDusuk']) < pHigh &&
myMap[i]['sehir'] == 'İSTANBUL') {
School school = School.fromJson(myMap[i]);
schools.add(school);
}
}
}
return schools;
}