From 48e5d70ada0544c5fc93f037f339ee89b6700099 Mon Sep 17 00:00:00 2001 From: FaizHashmi Date: Mon, 26 Oct 2026 11:15:01 +0300 Subject: [PATCH] made the city search functional --- .../wala_plus_city_model.dart | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/models/offers_and_discounts/wala_plus_city_model.dart diff --git a/lib/models/offers_and_discounts/wala_plus_city_model.dart b/lib/models/offers_and_discounts/wala_plus_city_model.dart new file mode 100644 index 0000000..e8d6468 --- /dev/null +++ b/lib/models/offers_and_discounts/wala_plus_city_model.dart @@ -0,0 +1,51 @@ +class WalaPlusCityModel { + int? cityId; + String? cityNameAr; + String? cityNameEn; + String? countryNameAr; + String? countryNameEn; + + WalaPlusCityModel({ + this.cityId, + this.cityNameAr, + this.cityNameEn, + this.countryNameAr, + this.countryNameEn, + }); + + factory WalaPlusCityModel.fromJson(Map json) { + return WalaPlusCityModel( + cityId: + json['city_id'] is int + ? json['city_id'] + : int.tryParse(json['city_id']?.toString() ?? ''), + cityNameAr: json['city_name_ar']?.toString(), + cityNameEn: json['city_name_en']?.toString(), + countryNameAr: json['country_name_ar']?.toString(), + countryNameEn: json['country_name_en']?.toString(), + ); + } + + Map toJson() { + return { + 'city_id': cityId, + 'city_name_ar': cityNameAr, + 'city_name_en': cityNameEn, + 'country_name_ar': countryNameAr, + 'country_name_en': countryNameEn, + }; + } + + String getDisplayName(bool isAr) { + String? primary = isAr ? cityNameAr : cityNameEn; + if (primary != null && primary.trim().isNotEmpty) return primary.trim(); + String? fallback = isAr ? cityNameEn : cityNameAr; + return fallback?.trim() ?? ''; + } + + bool get isAllCities { + String en = (cityNameEn ?? '').trim().toLowerCase(); + String ar = (cityNameAr ?? '').trim(); + return en == 'all cities' || ar == 'جميع المدن'; + } +}