Files
MobilApp/lib/models/field_property.dart
T
2026-08-31 20:38:18 +02:00

70 lines
2.7 KiB
Dart

/// Egy ingatlan (helyrajzi szám) a levél-pipeline importjából.
///
/// SZÁNDÉKOSAN nincs hozzá helyi tábla/toMap — ez a funkció tisztán
/// online, a `terepi_seged_field_properties_view` élő lekérdezéséből él,
/// sosem kerül a készülék adatbázisába.
class FieldProperty {
final String id;
final String projectId;
final String publicationId;
final String settlement;
final String parcelNumber;
final String normalizedParcelNumber;
final String areaType;
final String mailingStatus;
final int? totalAreaSquareMeters;
final double? totalCadastralIncome;
final String? caseIdentifier;
final int recipientCount;
final int selectedRecipientCount;
final int generatedLetterCount;
final int sentLetterCount;
final String ownerNames;
final String landUseSummary;
final DateTime createdAt;
const FieldProperty({
required this.id,
required this.projectId,
required this.publicationId,
required this.settlement,
required this.parcelNumber,
required this.normalizedParcelNumber,
required this.areaType,
required this.mailingStatus,
this.totalAreaSquareMeters,
this.totalCadastralIncome,
this.caseIdentifier,
required this.recipientCount,
required this.selectedRecipientCount,
required this.generatedLetterCount,
required this.sentLetterCount,
required this.ownerNames,
this.landUseSummary = '',
required this.createdAt,
});
factory FieldProperty.fromMap(Map<String, dynamic> m) => FieldProperty(
id: m['id'] as String,
projectId: m['project_id'] as String,
publicationId: m['publication_id'] as String,
settlement: m['settlement'] as String? ?? '',
parcelNumber: m['parcel_number'] as String? ?? '',
normalizedParcelNumber: m['normalized_parcel_number'] as String? ?? '',
areaType: m['area_type'] as String? ?? '',
mailingStatus: m['mailing_status'] as String? ?? 'unknown',
totalAreaSquareMeters: (m['total_area_square_meters'] as num?)?.toInt(),
totalCadastralIncome: (m['total_cadastral_income'] as num?)?.toDouble(),
caseIdentifier: m['case_identifier'] as String?,
recipientCount: (m['recipient_count'] as num?)?.toInt() ?? 0,
selectedRecipientCount:
(m['selected_recipient_count'] as num?)?.toInt() ?? 0,
generatedLetterCount:
(m['generated_letter_count'] as num?)?.toInt() ?? 0,
sentLetterCount: (m['sent_letter_count'] as num?)?.toInt() ?? 0,
ownerNames: m['owner_names'] as String? ?? '',
landUseSummary: m['land_use_summary'] as String? ?? '',
createdAt: DateTime.parse(m['created_at'] as String),
);
}