69 lines
2.1 KiB
Java
69 lines
2.1 KiB
Java
package ovh.herisson.Clyde.Services;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import ovh.herisson.Clyde.Repositories.CourseRepository;
|
|
import ovh.herisson.Clyde.Repositories.CurriculumCourseRepository;
|
|
import ovh.herisson.Clyde.Repositories.CurriculumRepository;
|
|
import ovh.herisson.Clyde.Tables.Course;
|
|
import ovh.herisson.Clyde.Tables.Curriculum;
|
|
import ovh.herisson.Clyde.Tables.CurriculumCourse;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
@Service
|
|
public class CurriculumCourseService {
|
|
|
|
private final CurriculumCourseRepository curriculumCourseRepo;
|
|
|
|
private final CourseRepository courseRepo;
|
|
|
|
private final CurriculumRepository curriculumRepo;
|
|
|
|
public CurriculumCourseService(CurriculumCourseRepository curriculumCourseRepository, CourseRepository courseRepo, CurriculumRepository curriculumRepo) {
|
|
this.curriculumCourseRepo = curriculumCourseRepository;
|
|
this.courseRepo = courseRepo;
|
|
this.curriculumRepo = curriculumRepo;
|
|
}
|
|
|
|
public void save(CurriculumCourse curriculumCourse){
|
|
curriculumCourseRepo.save(curriculumCourse);
|
|
}
|
|
|
|
public Iterable<CurriculumCourse> findAll(){
|
|
return curriculumCourseRepo.findAll();
|
|
}
|
|
|
|
|
|
public Map<String, Object> getDepthCurriculum(Curriculum curriculum){
|
|
|
|
HashMap<String ,Object> toReturn = new HashMap<>();
|
|
ArrayList<Course> courses = new ArrayList<>();
|
|
for (Course c: curriculumCourseRepo.findCoursesByCurriculum(curriculum)){
|
|
courses.add(c);
|
|
}
|
|
toReturn.put("courses",courses);
|
|
toReturn.put("curriculumId", curriculum.getCurriculumId());
|
|
toReturn.put("year", curriculum.getYear());
|
|
toReturn.put("option", curriculum.getOption());
|
|
|
|
|
|
return toReturn;
|
|
}
|
|
|
|
public Iterable<Map<String, Object>> getAllDepthCurriculum(){
|
|
|
|
ArrayList<Map<String,Object>> toReturn = new ArrayList<>();
|
|
|
|
for (Curriculum curriculum : curriculumCourseRepo.findDistinctCurriculums()){
|
|
toReturn.add(getDepthCurriculum(curriculum));
|
|
}
|
|
return toReturn;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|