controller Question fini

This commit is contained in:
trochas
2025-10-08 10:52:43 +02:00
parent e913f8154d
commit 5a9481f92c
2 changed files with 37 additions and 34 deletions

View File

@@ -8,14 +8,5 @@ import sample.data.jpa.metier.Question;
@Transactional
public interface QuestionDao extends JpaRepository<Question, Integer> {
//public Question findById(int id);
public void deleteReponse(int id);
public void setChoix(int id);
public void setReponseCourte(int id);
public void addChoix(int id, String choix);
}

View File

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
import sample.data.jpa.metier.Choix;
import sample.data.jpa.metier.Question;
import sample.data.jpa.metier.Reponse;
import sample.data.jpa.metier.ReponseCourte;
import sample.data.jpa.service.QuestionDao;
@@ -17,7 +17,8 @@ import sample.data.jpa.service.QuestionDao;
@Controller
public class QuestionController {
@Autowired
private QuestionDao qDao;
private QuestionDao qDao;
@RequestMapping("/create")
@ResponseBody
@@ -36,7 +37,7 @@ public class QuestionController {
@RequestMapping("/update")
@ResponseBody
public String updateUser(long id, String newQ) {
public String updateQuestion(int id, String newQ) {
try {
Question q = qDao.findById(id).get();
q.setQuestion(newQ);
@@ -48,19 +49,6 @@ public class QuestionController {
return "Question succesfully updated!";
}
@RequestMapping("/changeQuestion")
@ResponseBody
public String changeQuestion(int id, String newQuestion) {
try {
Question question = qDao.findById(id).get();
question.setQuestion(newQuestion);
qDao.save(question);
return "Question mise à jour : " + newQuestion;
} catch (Exception ex) {
return "Erreur lors de la mise à jour de la question : " + ex.toString();
}
}
@RequestMapping("/getReponse")
@ResponseBody
public String getReponse(int id) {
@@ -88,18 +76,21 @@ public class QuestionController {
public String addReponse(int id, String reponse) {
try {
Question question = qDao.findById(id).get();
qDao.addReponse(reponse, id);
question.getReponse().getReponses().add(reponse);
qDao.save(question);
return "Réponse correcte \"" + reponse + "\" ajoutée à la question " + id;
} catch (Exception ex) {
return "Erreur lors de l'ajout de la réponse : " + ex.toString();
}
}
@RequestMapping("/deleteReponses")
@RequestMapping("/deleteReponse")
@ResponseBody
public String deleteReponses(int id) {
public String deleteReponses(int id, String reponse) {
try {
qDao.deleteReponse(id);
Question question = qDao.findById(id).get();
question.getReponse().getReponses().remove(reponse);
qDao.save(question);
return "Réponses supprimées de la question " + id;
} catch (Exception ex) {
return "Erreur lors de la suppression des réponses : " + ex.toString();
@@ -110,7 +101,9 @@ public class QuestionController {
@ResponseBody
public String setReponseChoix(int id) {
try {
qDao.setChoix(id);
Question question = qDao.findById(id).get();
question.setReponse(new Choix());
qDao.save(question);
return "Réponses à choix multiple mises sur la question " + id;
} catch (Exception ex) {
return "Erreur lors de la mise en place du type 'choix' : " + ex.toString();
@@ -121,26 +114,45 @@ public class QuestionController {
@ResponseBody
public String setReponseCourte(int id) {
try {
qDao.setReponseCourte(id);
Question question = qDao.findById(id).get();
question.setReponse(new ReponseCourte());
qDao.save(question);
return "Réponses courtes mises sur la question " + id;
} catch (Exception ex) {
return "Erreur lors de la mise en place du type 'réponse courte' : " + ex.toString();
}
}
@RequestMapping("/addChoix")
@RequestMapping("/updateChoix")
@ResponseBody
public String addChoix(int id, String choix) {
try {
Question question = qDao.findById(id).get();
if (question.getReponse() instanceof Choix) {
return "Erreur : la réponse est déjà un choix multiple.";
((Choix) question.getReponse()).getChoix().add(choix);
qDao.save(question);
}
qDao.addChoix(id, choix);
else return "Erreur : la réponse doit être a choix multiple.";
return "Choix \"" + choix + "\" ajouté à la question " + id;
} catch (Exception ex) {
return "Erreur lors de l'ajout du choix : " + ex.toString();
}
}
@RequestMapping("/delete")
@ResponseBody
public String delete(int id) {
try {
Question q = qDao.findById(id).get();
qDao.delete(q);
}
catch (Exception ex) {
return "Error deleting the question " + id + " :" + ex.toString();
}
return "Question " + id + " succesfully deleted!";
}
}