diff --git a/server/src/main/java/ru/mskobaro/tdms/business/service/ParticipantService.java b/server/src/main/java/ru/mskobaro/tdms/business/service/ParticipantService.java index 61f785d..b3db1d4 100644 --- a/server/src/main/java/ru/mskobaro/tdms/business/service/ParticipantService.java +++ b/server/src/main/java/ru/mskobaro/tdms/business/service/ParticipantService.java @@ -234,20 +234,6 @@ public class ParticipantService { studentData = new StudentData(); } - if (participantSaveDTO.getStudentData().getGroupId() != null) { - Group group = groupRepository.findByIdThrow(participantSaveDTO.getStudentData().getGroupId()); - studentData.setGroup(group); - if (!group.getStudents().contains(studentData)) - group.getStudents().add(studentData); - } else { - if (editMode) { - Group group = groupRepository.findByStudentsContaining(Collections.singletonList(studentData)); - if (group != null) - group.getStudents().remove(studentData); - } - studentData.setGroup(null); - } - if (participantSaveDTO.getStudentData().getCuratorId() != null) { TeacherData teacherData = teacherDataRepository.findByIdThrow(participantSaveDTO.getStudentData().getCuratorId()); studentData.setCurator(teacherData); @@ -270,6 +256,21 @@ public class ParticipantService { studentData = studentDataRepository.save(studentData); studentData.setParticipant(participant); + + if (participantSaveDTO.getStudentData().getGroupId() != null) { + Group group = groupRepository.findByIdThrow(participantSaveDTO.getStudentData().getGroupId()); + studentData.setGroup(group); + if (!group.getStudents().contains(studentData)) + group.getStudents().add(studentData); + } else { + if (editMode) { + Group group = groupRepository.findByStudentsContaining(Collections.singletonList(studentData)); + if (group != null) + group.getStudents().remove(studentData); + } + studentData.setGroup(null); + } + return studentData; }