marco.pms.mobileapp/lib/model/dashboard/dashboard_tasks_model.dart

53 lines
1.3 KiB
Dart

class DashboardTasks {
final bool success;
final String message;
final DashboardTasksData? data;
final dynamic errors;
final int statusCode;
final DateTime timestamp;
DashboardTasks({
required this.success,
required this.message,
required this.data,
this.errors,
required this.statusCode,
required this.timestamp,
});
factory DashboardTasks.fromJson(Map<String, dynamic> json) {
return DashboardTasks(
success: json['success'] ?? false,
message: json['message'] ?? '',
data: json['data'] != null ? DashboardTasksData.fromJson(json['data']) : null,
errors: json['errors'],
statusCode: json['statusCode'] ?? 0,
timestamp: DateTime.tryParse(json['timestamp'] ?? '') ?? DateTime.now(),
);
}
}
class DashboardTasksData {
final int totalTasks;
final int completedTasks;
DashboardTasksData({
required this.totalTasks,
required this.completedTasks,
});
factory DashboardTasksData.fromJson(Map<String, dynamic> json) {
int toInt(dynamic value) {
if (value is int) return value;
if (value is double) return value.toInt();
if (value is String) return int.tryParse(value) ?? 0;
return 0;
}
return DashboardTasksData(
totalTasks: toInt(json['totalTasks']),
completedTasks: toInt(json['completedTasks']),
);
}
}