Refactor date handling in tender data model and UI components. Added unixTimestampFromJson for parsing timestamps and updated timeConvertor to handle null values. Updated relevant model fields and UI to use the new parsing logic. Added unit tests for date utilities.

This commit is contained in:
AmirReza Jamali
2026-05-24 15:28:47 +03:30
parent 4525e06119
commit 2515190576
9 changed files with 71 additions and 23 deletions
@@ -12,7 +12,7 @@ _TenderData _$TenderDataFromJson(Map<String, dynamic> json) => _TenderData(
id: json['id'] as String?,
tenderId: json['tender_id'] as String?,
noticePublicationId: json['notice_publication_id'] as String?,
publicationDate: (json['publication_date'] as num?)?.toInt(),
publicationDate: unixTimestampFromJson(json['publication_date']),
title: json['title'] as String?,
description: json['description'] as String?,
procurementTypeCode: json['procurement_type_code'] as String?,
@@ -20,9 +20,9 @@ _TenderData _$TenderDataFromJson(Map<String, dynamic> json) => _TenderData(
estimatedValue: (json['estimated_value'] as num?)?.toInt(),
currency: json['currency'] as String?,
duration: json['duration'] as String?,
tenderDeadline: (json['tender_deadline'] as num?)?.toInt(),
submissionDeadline: (json['submission_deadline'] as num?)?.toInt(),
applicationDeadline: (json['application_deadline'] as num?)?.toInt(),
tenderDeadline: unixTimestampFromJson(json['tender_deadline']),
submissionDeadline: unixTimestampFromJson(json['submission_deadline']),
applicationDeadline: unixTimestampFromJson(json['application_deadline']),
submissionUrl: json['submission_url'] as String?,
countryCode: json['country_code'] as String?,
durationUnit: json['duration_unit'] as String?,