Update Saqel Platform: 2026-09-02 00:55:56

This commit is contained in:
Hamza-Ayed
2026-09-02 00:55:56 +03:00
parent 1c0cd88a98
commit f4ab43d49a
18 changed files with 409 additions and 214 deletions
@@ -86,19 +86,26 @@ class GuardianChildModel {
});
factory GuardianChildModel.fromJson(Map<String, dynamic> json) {
final student = json['student'] is Map
? Map<String, dynamic>.from(json['student'])
: <String, dynamic>{};
final metrics = json['metrics'] is Map
? Map<String, dynamic>.from(json['metrics'])
: <String, dynamic>{};
final source = <String, dynamic>{...student, ...metrics, ...json};
return GuardianChildModel(
id: json['id'] is int ? json['id'] : int.tryParse(json['id']?.toString() ?? '0') ?? 0,
uuid: json['uuid']?.toString() ?? '',
name: json['full_name']?.toString() ?? json['name']?.toString() ?? 'الطالب',
nationalId: json['national_id']?.toString(),
gradeLevel: json['grade_level']?.toString(),
stream: json['stream']?.toString(),
schoolName: json['school_name']?.toString() ?? 'مدرسة معتمدة',
readinessScore: json['tawjihi_readiness_score'] != null
? double.tryParse(json['tawjihi_readiness_score'].toString()) ?? 0.0
: (json['readiness_score'] != null ? double.tryParse(json['readiness_score'].toString()) ?? 0.0 : 0.0),
examsPassed: json['exams_passed_count'] is int ? json['exams_passed_count'] : int.tryParse(json['exams_passed_count']?.toString() ?? '0') ?? 0,
examsTotal: json['exams_total_count'] is int ? json['exams_total_count'] : int.tryParse(json['exams_total_count']?.toString() ?? '0') ?? 0,
id: source['id'] is int ? source['id'] : int.tryParse(source['id']?.toString() ?? '0') ?? 0,
uuid: source['uuid']?.toString() ?? '',
name: source['full_name']?.toString() ?? source['name']?.toString() ?? 'الطالب',
nationalId: source['national_id']?.toString(),
gradeLevel: source['grade_level']?.toString(),
stream: source['stream']?.toString(),
schoolName: source['school_name']?.toString() ?? 'مدرسة معتمدة',
readinessScore: source['readiness_score'] != null
? double.tryParse(source['readiness_score'].toString()) ?? 0.0
: (source['tawjihi_readiness_score'] != null ? double.tryParse(source['tawjihi_readiness_score'].toString()) ?? 0.0 : 0.0),
examsPassed: source['exams_passed_count'] is int ? source['exams_passed_count'] : int.tryParse(source['exams_passed_count']?.toString() ?? '0') ?? 0,
examsTotal: source['exams_total_count'] is int ? source['exams_total_count'] : int.tryParse(source['exams_total_count']?.toString() ?? '0') ?? 0,
);
}
}