filterProperties method

List<NmGalaxyLien> filterProperties({
  1. String? county,
  2. String? stage,
  3. double? minRoi,
  4. double? maxRoi,
  5. double? minRisk,
  6. double? maxRisk,
})

Filter properties (returns filtered list without modifying state)

Implementation

List<NmGalaxyLien> filterProperties({String? county, String? stage, double? minRoi, double? maxRoi, double? minRisk, double? maxRisk}) {
  return _properties.where((p) {
    if (county != null && p.countyOrParish != county) return false;
    if (stage != null && p.listingStage != stage) return false;
    if (minRoi != null && (p.expectedRoi ?? 0) < minRoi) return false;
    if (maxRoi != null && (p.expectedRoi ?? 1) > maxRoi) return false;
    if (minRisk != null && (p.riskScore ?? 0) < minRisk) return false;
    if (maxRisk != null && (p.riskScore ?? 100) > maxRisk) return false;
    return true;
  }).toList();
}