Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.36 KB | None | 0 0
  1. package nl.saxion.budgetblackboard.controllers;
  2.  
  3. import nl.saxion.budgetblackboard.dataProvider.DataProvider;
  4. import nl.saxion.budgetblackboard.models.Course;
  5. import nl.saxion.budgetblackboard.models.Subject;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.ui.Model;
  8. import org.springframework.web.bind.annotation.*;
  9.  
  10. import java.util.ArrayList;
  11.  
  12. @Controller
  13. @RequestMapping(path = "/courses/subjects")
  14. public class SubjectController {
  15.     private DataProvider data = DataProvider.getInstance();
  16.     private Course course;
  17.     private ArrayList<Subject> subjects;
  18.     private static boolean firstInvocation;
  19.  
  20.     @GetMapping(path = "/{ID}")
  21.     public String getSubjects(@PathVariable int ID, Model model) {
  22.         this.course = this.data.findCourseByID(ID);
  23.         if (!firstInvocation) {
  24.             this.subjects = this.course.getSubjects();
  25.         }
  26.         else {
  27.             this.course.setSubjects(subjects);
  28.         }
  29.         model.addAttribute("subjects", this.course.getSubjects());
  30.         return "indexSubject";
  31.     }
  32.  
  33.     @GetMapping(path = "/add")
  34.     public String add() {
  35.         return "addSubject";
  36.     }
  37.  
  38.     @PostMapping(path = "/add")
  39.     public String addSubject(Subject subject, Model model) {
  40.         this.course.addSubject(subject);
  41.         model.addAttribute("subjects", this.course.getSubjects());
  42.         return "redirect:/courses/subjects/" + this.course.getID();
  43.     }
  44.  
  45.     @GetMapping(path = "/edit/{id}")
  46.     public String edit(@PathVariable int id, Model model) {
  47.         Subject subject = this.data.getSubjectByID(this.course, id);
  48.         model.addAttribute("subject", subject);
  49.         return "editSubject";
  50.     }
  51.  
  52.     @PostMapping(path = "/edit/{id}")
  53.     public String editSubject(Subject editedSubject, @PathVariable int id, Model model) {
  54.         Subject uneditedSubject = this.data.getSubjectByID(this.course, id);
  55.         ArrayList<Subject> updatedSubjects = this.data.updateSubject(this.course, uneditedSubject, editedSubject, id);
  56.         model.addAttribute("subjects", updatedSubjects);
  57.         return "redirect:/courses/subjects/" + this.course.getID();
  58.     }
  59.  
  60.     @GetMapping(path = "/delete/{id}")
  61.     public String deleteSubject(@PathVariable int id, Model model) {
  62.         System.out.println("deleting subject");
  63.         this.subjects = this.data.deleteSubjectInCourse(this.course, id);
  64.         this.course.setSubjects(this.subjects);
  65.         model.addAttribute("subjects", this.subjects);
  66.         firstInvocation = true;
  67.         return "redirect:/courses/subjects/" + this.course.getID();
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement