From 8adab4c4af081ac5ddce7bbabf084ffd3cf11f89 Mon Sep 17 00:00:00 2001 From: Mohammed Al-Samarraie Date: Fri, 16 Jan 2026 14:58:12 +0300 Subject: [PATCH] done --- .../attendance_remote_data_source.dart | 1 + lib/data/dto/attendance_response_dto.dart | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/lib/data/datasources/attendance_remote_data_source.dart b/lib/data/datasources/attendance_remote_data_source.dart index bed6ba6..b2f78cc 100644 --- a/lib/data/datasources/attendance_remote_data_source.dart +++ b/lib/data/datasources/attendance_remote_data_source.dart @@ -79,6 +79,7 @@ class AttendanceRemoteDataSourceImpl implements AttendanceRemoteDataSource { if (e is ServerException || e is NetworkException) { rethrow; } + print('خطأ غير متوقع: $e'); throw ServerException(message: 'خطأ غير متوقع'); } } diff --git a/lib/data/dto/attendance_response_dto.dart b/lib/data/dto/attendance_response_dto.dart index 748f180..8c07ebc 100644 --- a/lib/data/dto/attendance_response_dto.dart +++ b/lib/data/dto/attendance_response_dto.dart @@ -15,10 +15,24 @@ class AttendanceResponseDto { final data = json['data']; return AttendanceResponseDto( - id: data['id'], - employeeId: data['employeeId'], - login: data['login'], - logout: data['logout'], + id: data['id']?.toString() ?? '', + employeeId: data['employeeId']?.toString() ?? '', + login: _parseDateTime(data['login']), + logout: _parseDateTime(data['logout']), ); } + + static DateTime? _parseDateTime(dynamic value) { + if (value == null) return null; + if (value is DateTime) return value; + if (value is String) { + try { + return DateTime.parse(value); + } catch (e) { + print('Error parsing date: $value - $e'); + return null; + } + } + return null; + } }