40 lines
1.2 KiB
Dart
40 lines
1.2 KiB
Dart
class PlaceGate {
|
|
final String nameAr;
|
|
final String? nameEn;
|
|
final double latitude;
|
|
final double longitude;
|
|
final bool isMainGate;
|
|
|
|
const PlaceGate({
|
|
required this.nameAr,
|
|
this.nameEn,
|
|
required this.latitude,
|
|
required this.longitude,
|
|
this.isMainGate = false,
|
|
});
|
|
|
|
factory PlaceGate.fromJson(Map<String, dynamic> json) {
|
|
return PlaceGate(
|
|
nameAr: json['name_ar']?.toString() ?? json['gate_name_ar']?.toString() ?? 'بوابة',
|
|
nameEn: json['name_en']?.toString() ?? json['gate_name_en']?.toString(),
|
|
latitude: (json['latitude'] as num?)?.toDouble() ??
|
|
(json['lat'] as num?)?.toDouble() ??
|
|
double.tryParse(json['latitude']?.toString() ?? '0.0') ??
|
|
0.0,
|
|
longitude: (json['longitude'] as num?)?.toDouble() ??
|
|
(json['lng'] as num?)?.toDouble() ??
|
|
double.tryParse(json['longitude']?.toString() ?? '0.0') ??
|
|
0.0,
|
|
isMainGate: json['is_main_gate'] as bool? ?? false,
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
'name_ar': nameAr,
|
|
if (nameEn != null) 'name_en': nameEn,
|
|
'latitude': latitude,
|
|
'longitude': longitude,
|
|
'is_main_gate': isMainGate,
|
|
};
|
|
}
|