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.
mohemm-flutter-app/lib/models/offers_and_discounts/wala_plus_city_model.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 == 'جميع المدن';
}
}