class ExtraPaymentDto { final String id; final DateTime date; final double amount; final String? reason; final String? note; final String employeeId; final bool isDeleted; ExtraPaymentDto({ required this.id, required this.date, required this.amount, this.reason, this.note, required this.employeeId, required this.isDeleted, }); factory ExtraPaymentDto.fromJson(Map json) { return ExtraPaymentDto( id: json['id']?.toString() ?? '', date: json['date'] != null ? DateTime.parse(json['date']) : DateTime.now(), amount: (json['amount'] as num?)?.toDouble() ?? 0.0, reason: json['reason'], note: json['note'], employeeId: json['employeeId']?.toString() ?? '', isDeleted: json['isDeleted'] ?? false, ); } } class ExtraPaymentListResponseDto { final List items; ExtraPaymentListResponseDto({required this.items}); factory ExtraPaymentListResponseDto.fromJson(Map json) { final data = json['data']; if (data == null || data is! Map) { return ExtraPaymentListResponseDto(items: []); } final itemsJson = data['items'] as List? ?? []; return ExtraPaymentListResponseDto( items: itemsJson.map((e) => ExtraPaymentDto.fromJson(e)).toList(), ); } }