schedules working

This commit is contained in:
Sriram Hariharan
2023-03-16 00:32:10 -05:00
parent 6afd372945
commit 882b5b4e00
13 changed files with 125 additions and 38 deletions

View File

@@ -8,9 +8,11 @@ export class UserSchedule {
courses: Course[];
id: string;
name: string;
creditHours: number;
constructor(schedule: Serialized<UserSchedule>) {
this.courses = schedule.courses.map(c => new Course(c));
this.creditHours = this.courses.reduce((acc, course) => acc + course.creditHours, 0);
this.id = schedule.id;
this.name = schedule.name;
}
@@ -18,18 +20,4 @@ export class UserSchedule {
containsCourse(course: Course): boolean {
return this.courses.some(c => c.uniqueId === course.uniqueId);
}
getCreditHours(): number {
return this.courses.reduce((acc, course) => acc + course.creditHours, 0);
}
addCourse(course: Course): void {
if (!this.containsCourse(course)) {
this.courses.push(course);
}
}
removeCourse(course: Course): void {
this.courses = this.courses.filter(c => c.uniqueId !== course.uniqueId);
}
}