package services; import models.*; import java.util.ArrayList; import java.util.List; public class SchoolSystem { private List students; private List teachers; private List allCourses; public SchoolSystem() { this.students = new ArrayList<>(); this.teachers = new ArrayList<>(); this.allCourses = new ArrayList<>(); } // ========== Student Management ========== public boolean registerStudent(String username, String password) { if (findStudent(username) != null) { return false; } students.add(new Student(username, password)); return true; } public Student loginStudent(String username, String password) { Student student = findStudent(username); if (student != null && student.checkPassword(password)) { return student; } return null; } private Student findStudent(String username) { for (Student s : students) { if (s.getUsername().equals(username)) return s; } return null; } // ========== Teacher Management ========== public boolean registerTeacher(String username, String password) { if (findTeacher(username) != null) { return false; } teachers.add(new Teacher(username, password)); return true; } public Teacher loginTeacher(String username, String password) { Teacher teacher = findTeacher(username); if (teacher != null && teacher.checkPassword(password)) { return teacher; } return null; } private Teacher findTeacher(String username) { for (Teacher t : teachers) { if (t.getUsername().equals(username)) return t; } return null; } // ========== Course Management ========== public boolean addCourseToSystem(String courseName) { for (Course c : allCourses) { if (c.getName().equals(courseName)) { return false; } } allCourses.add(new Course(courseName)); return true; } public Course findCourseById(int id) { for (Course c : allCourses) { if (c.getId() == id) return c; } return null; } public Course findCourseByName(String name) { for (Course c : allCourses) { if (c.getName().equalsIgnoreCase(name)) return c; } return null; } public String getAllCoursesDisplay() { if (allCourses.isEmpty()) { return " No courses available yet."; } else { StringBuilder sb = new StringBuilder("\n All Available Courses:\n"); for (int i = 0; i < allCourses.size(); i++) { sb.append(" ").append(i+1).append(". ").append(allCourses.get(i)).append("\n"); } return sb.toString(); } } public List getAllCourses() { return allCourses; } }