Added Faculty management

This commit is contained in:
2023-09-25 21:29:16 +03:00
parent b703d8f658
commit 6e36fe56fa
8 changed files with 101 additions and 14 deletions

View File

@@ -0,0 +1,62 @@
package org.lumijiez.managers;
import org.lumijiez.base.Faculty;
import org.lumijiez.base.Group;
import org.lumijiez.base.Student;
import org.lumijiez.util.FullStudentData;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import static org.lumijiez.enums.StudyField.DEFAULT_UNASSIGNED;
public class StudentManager implements Serializable {
private final List<Student> students = new ArrayList<>();
public void addStudent(FullStudentData data, Supervisor sv) {
Faculty faculty;
Group group;
if (Objects.isNull(sv.getFm().getFaculty(data.faculty()))) {
Faculty newFaculty = new Faculty(data.faculty(), DEFAULT_UNASSIGNED.getAbbreviation(), DEFAULT_UNASSIGNED);
sv.getFm().addFaculty(newFaculty);
faculty = newFaculty;
} else {
faculty = sv.getFm().getFaculty(data.faculty());
}
if (Objects.isNull(sv.getFm().getGm().getGroup(data.group()))) {
Group newGroup = new Group("Unassigned");
sv.getFm().getGm().addGroup(newGroup);
group = newGroup;
} else {
group = sv.getFm().getGm().getGroup(data.group());
}
Student newStudent = new Student(data.name(), data.surname(), group, faculty);
students.add(newStudent);
}
public List<Student> getStudents() {
return students;
}
public Student getStudent(FullStudentData data) {
for (Student st : students) {
if (st.getFSD().equals(data)) return st;
}
return null;
}
public void deleteStudent(FullStudentData data) {
students.removeIf(student ->
student.getName().equals(data.name()) &&
student.getSurname().equals(data.surname()) &&
student.getGroup().getName().equals(data.group()) &&
student.getFaculty().getName().equals(data.faculty())
);
}
}

View File

@@ -17,10 +17,8 @@ public class Supervisor implements Serializable {
public String getStudentsText() {
StringBuilder info = new StringBuilder();
for (Group group : fm.getGm().getGroups()) {
for (Student student : group.getStudents()) {
info.append(student.getFullname()).append(" ").append(student.getGroup().getName()).append("\n");
}
for (Student st : fm.getGm().getSm().getStudents()) {
info.append(st.getFullname()).append(" ").append(st.getGroup().getName()).append("\n");
}
return info.toString();
}