Files
GSFV2/gsf/lib/modals/past_session_model.dart
2024-04-10 12:51:20 +05:30

137 lines
3.6 KiB
Dart

import 'dart:convert';
class Activity {
final bool success;
final String message;
final ActivityResult result;
Activity({
required this.success,
required this.message,
required this.result,
});
factory Activity.fromJson(Map<String, dynamic> json) {
return Activity(
success: json['success'],
message: json['message'],
result: ActivityResult.fromJson(json['result']),
);
}
}
class ActivityResult {
final String activityName;
final String title;
final String mainActivityBanner;
final String description;
final String startDate;
final String endDate;
final int teacherId;
final List<String> benefits;
final List<String> preRequisites;
final int subscriptionId;
final List<ActivitySchedule> schedule;
ActivityResult({
required this.activityName,
required this.title,
required this.mainActivityBanner,
required this.description,
required this.startDate,
required this.endDate,
required this.teacherId,
required this.benefits,
required this.preRequisites,
required this.subscriptionId,
required this.schedule,
});
factory ActivityResult.fromJson(Map<String, dynamic> json) {
final scheduleList = json['schedule'] as List<dynamic>;
List<ActivitySchedule> schedules = scheduleList.map((scheduleJson) {
return ActivitySchedule.fromJson(scheduleJson);
}).toList();
return ActivityResult(
activityName: json['activity_name'],
title: json['title'],
mainActivityBanner: json['main_activity_banner'],
description: json['description'],
startDate: json['start_date'],
endDate: json['end_date'],
teacherId: json['teacher_id'],
benefits: List<String>.from(jsonDecode(json['benefits'])),
preRequisites: List<String>.from(jsonDecode(json['pre_requisites'])),
subscriptionId: json['subscription_id'],
schedule: schedules,
);
}
}
class ActivitySchedule {
final String activityName;
final String activityTeaser;
final String description;
final String startDate;
final String endDate;
final int subscriptionId;
final List<PastData> pastData;
bool isExpanded; // Add the isExpanded property
ActivitySchedule({
required this.activityName,
required this.activityTeaser,
required this.description,
required this.startDate,
required this.endDate,
required this.subscriptionId,
required this.pastData,
this.isExpanded = false, // Initialize isExpanded to false
});
factory ActivitySchedule.fromJson(Map<String, dynamic> json) {
final pastDataList = json['past_data'] as List<dynamic>;
List<PastData> pastData = pastDataList.map((pastDataJson) {
return PastData.fromJson(pastDataJson);
}).toList();
return ActivitySchedule(
activityName: json['activity_name'],
activityTeaser: json['activity_teaser'],
description: json['description'],
startDate: json['start_date'],
endDate: json['end_date'],
subscriptionId: json['subscription_id'],
pastData: pastData,
);
}
}
class PastData {
final String activityName;
final String image;
final String url;
final int duration;
final String date;
final String day;
PastData({
required this.activityName,
required this.image,
required this.url,
required this.duration,
required this.date,
required this.day,
});
factory PastData.fromJson(Map<String, dynamic> json) {
return PastData(
activityName: json['activity_name'],
image: json['image'],
url: json['url'],
duration: json['duration'],
date: json['date'],
day: json['day'],
);
}
}