54 lines
1.3 KiB
Dart
54 lines
1.3 KiB
Dart
import 'dart:convert';
|
|
|
|
class Domicilio {
|
|
final String id;
|
|
final String nombre;
|
|
final String colonia;
|
|
final String calle;
|
|
final String numero;
|
|
final double latitud;
|
|
final double longitud;
|
|
|
|
Domicilio({
|
|
required this.id,
|
|
required this.nombre,
|
|
required this.colonia,
|
|
required this.calle,
|
|
required this.numero,
|
|
required this.latitud,
|
|
required this.longitud,
|
|
});
|
|
|
|
String get direccionCompleta => '$colonia, $calle $numero';
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
'id': id,
|
|
'nombre': nombre,
|
|
'colonia': colonia,
|
|
'calle': calle,
|
|
'numero': numero,
|
|
'latitud': latitud,
|
|
'longitud': longitud,
|
|
};
|
|
|
|
factory Domicilio.fromJson(Map<String, dynamic> json) {
|
|
return Domicilio(
|
|
id: json['id'],
|
|
nombre: json['nombre'],
|
|
colonia: json['colonia'],
|
|
calle: json['calle'],
|
|
numero: json['numero'],
|
|
latitud: json['latitud'].toDouble(),
|
|
longitud: json['longitud'].toDouble(),
|
|
);
|
|
}
|
|
|
|
static String encode(List<Domicilio> domicilios) {
|
|
return json.encode(domicilios.map((d) => d.toJson()).toList());
|
|
}
|
|
|
|
static List<Domicilio> decode(String domiciliosString) {
|
|
final List<dynamic> data = json.decode(domiciliosString);
|
|
return data.map((item) => Domicilio.fromJson(item)).toList();
|
|
}
|
|
} |