You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
Dart
52 lines
1.4 KiB
Dart
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<String, dynamic> 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<String, dynamic> 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 == 'جميع المدن';
|
|
}
|
|
}
|