import 'package:equatable/equatable.dart'; class SiteEntity extends Equatable { final int id; final String siteName; final String? siteCode; final int orgId; final double? longitude; final double? latitude; final String? address; final int status; const SiteEntity({ required this.id, required this.siteName, this.siteCode, required this.orgId, this.longitude, this.latitude, this.address, required this.status, }); factory SiteEntity.fromJson(Map json) { return SiteEntity( id: json['id'] as int, siteName: json['siteName'] as String? ?? '', siteCode: json['siteCode'] as String?, orgId: json['orgId'] as int? ?? 0, longitude: (json['longitude'] as num?)?.toDouble(), latitude: (json['latitude'] as num?)?.toDouble(), address: json['address'] as String?, status: json['status'] as int? ?? 0, ); } Map toJson() { return { 'id': id, 'siteName': siteName, 'siteCode': siteCode, 'orgId': orgId, 'longitude': longitude, 'latitude': latitude, 'address': address, 'status': status, }; } @override List get props => [id, siteName, siteCode, orgId, longitude, latitude, address, status]; }