Skip to content
Open
249 changes: 0 additions & 249 deletions IMPLEMENTATION_SUMMARY.md

This file was deleted.

8 changes: 8 additions & 0 deletions src/databases/CourseDatabase.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,22 @@ public void deleteLesson(int id) {
for (Course c : getRecords()) {
c.getLessons().removeIf((t) -> t.getId() == id);
}
saveToFile();
}

public void deleteQuiz(int id) {
for (Course c : getRecords()) {
for (Lesson l : c.getLessons()) {
if (l.getQuiz() != null && l.getQuiz().getId() == id) l.setQuiz(null);

// Delete all student attempts
for (Map.Entry<Integer, Progress> entry : l.getStudentProgress().entrySet()) {
entry.getValue().removeAttempts(id);
}
}
}

saveToFile();
}

public Course getCourseById(int id) {return getRecordById(id);}
Expand Down
4 changes: 4 additions & 0 deletions src/models/Progress.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ public void addAttempt(QuizAttempt attempt) {
if (attempt.isPassed()) this.lessonComplete = true;
}

public void removeAttempts(int quizId) {
this.attempts.removeIf((attempt -> attempt.getQuizId() == quizId));
}

/* Getters & Setters */
public int getUserId() {return userId;}
public void setUserId(int userId) {this.userId = userId;}
Expand Down
5 changes: 1 addition & 4 deletions src/models/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,12 @@ public class User implements Model {
private String email;
private String name;
private String role;
private List<Certificate> certificates;
private List<Certificate> certificates = new ArrayList<>();

/* This constructor is necessary for JSON parsing */
public User() {}

public void addCertificate(Certificate certificate) {
if (this.certificates == null) {
this.certificates = new ArrayList<>();
}
this.certificates.add(certificate);
}

Expand Down
Loading