Skip to content
Snippets Groups Projects
Commit 9b4f3628 authored by Petr Seidl's avatar Petr Seidl
Browse files

Update added deleteTeachersWithoutSubject method for Teacher entity

parent ec2c5859
No related branches found
No related tags found
No related merge requests found
......@@ -10,4 +10,5 @@ public interface TeacherService extends CrudService<Teacher, TeacherCreateDTO>{
List<Teacher> findByFirstNameAndLastName(String firstName, String lastName);
List<Teacher> findAllByFirstName(String firstName);
List<Teacher> findAllByLastName(String lastName);
void deleteTeachersWithoutSubjects();
}
package cz.cvut.fit.tjv.seidlpet.semestralka.business;
 
import cz.cvut.fit.tjv.seidlpet.semestralka.data.SubjectRepository;
import cz.cvut.fit.tjv.seidlpet.semestralka.data.TeacherRepository;
import cz.cvut.fit.tjv.seidlpet.semestralka.data.dto.TeacherCreateDTO;
import cz.cvut.fit.tjv.seidlpet.semestralka.data.entity.Subject;
import cz.cvut.fit.tjv.seidlpet.semestralka.data.entity.Teacher;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.stereotype.Service;
......@@ -15,9 +17,11 @@ import java.util.Optional;
@Transactional
public class TeacherServiceImpl implements TeacherService {
private final TeacherRepository teacherRepository;
private final SubjectRepository subjectRepository;
 
public TeacherServiceImpl(TeacherRepository teacherRepository) {
public TeacherServiceImpl(TeacherRepository teacherRepository, SubjectRepository subjectRepository) {
this.teacherRepository = teacherRepository;
this.subjectRepository = subjectRepository;
}
 
public Teacher create(Teacher teacher) {
......@@ -61,4 +65,20 @@ public class TeacherServiceImpl implements TeacherService {
public void deleteById(int id) {
teacherRepository.deleteById(id);
}
public void deleteTeachersWithoutSubjects() {
List<Subject> subjects = subjectRepository.findAll();
List<Teacher> teachers = findAll();
for (Teacher teacher : teachers) {
boolean remove = true;
for (Subject subject : subjects) {
if (teacher == subject.getTeacher()) {
remove = false;
break;
}
}
if (remove)
delete(teacher);
}
}
}
......@@ -67,6 +67,15 @@ public class TeacherController {
}
}
 
@DeleteMapping("/no-subject")
public void deleteTeachersWithoutSubjects() {
try {
teacherService.deleteTeachersWithoutSubjects();
} catch (IllegalArgumentException e) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND);
}
}
private TeacherDTO toDTO(Teacher teacher) {
return new TeacherDTO(teacher.getId(),teacher.getFirstName(),teacher.getLastName());
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment