Advertisement
Guest User

ProjectTest

a guest
Dec 15th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.79 KB | None | 0 0
  1. package projectrider.controller;
  2.  
  3. import projectrider.entity.Project;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.ui.Model;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.PostMapping;
  10. import projectrider.bindingModel.ProjectBindingModel;
  11. import projectrider.repository.ProjectRepository;
  12.  
  13. import java.util.List;
  14.  
  15. @Controller
  16. public class ProjectController {
  17.     private final ProjectRepository projectRepository;
  18.  
  19.     @Autowired
  20.     public ProjectController(ProjectRepository projectRepository) {
  21.         this.projectRepository = projectRepository;
  22.     }
  23.  
  24.     @GetMapping("/")
  25.     public String index(Model model) {
  26.  
  27.         List<Project> projectsFromDb = this.projectRepository.findAll();
  28.  
  29.         model.addAttribute("projects", projectsFromDb);
  30.         model.addAttribute("view", "project/index");
  31.  
  32.         return "base-layout";
  33.     }
  34.  
  35.     @GetMapping("/create")
  36.     public String create(Model model) {
  37.         model.addAttribute("view", "project/create");
  38.  
  39.         return "base-layout";
  40.     }
  41.  
  42.     @PostMapping("/create")
  43.     public String createProcess(Model model, ProjectBindingModel projectBindingModel) {
  44.         Project project = new Project();
  45.  
  46.         project.setTitle(projectBindingModel.getTitle());
  47.         project.setDescription(projectBindingModel.getDescription());
  48.         project.setBudget(projectBindingModel.getBudget());
  49.  
  50.         this.projectRepository.saveAndFlush(project);
  51.  
  52.         return "redirect:/";
  53.     }
  54.  
  55.     @GetMapping("/edit/{id}")
  56.     public String edit(Model model, @PathVariable int id) {
  57.         Project projectFromDb = this.projectRepository.findById(id).get();
  58.  
  59.         model.addAttribute("project", projectFromDb);
  60.         model.addAttribute("view", "project/edit");
  61.  
  62.         return "base-layout";
  63.     }
  64.  
  65.     @PostMapping("/edit/{id}")
  66.     public String editProcess(@PathVariable int id, Model model, ProjectBindingModel projectBindingModel) {
  67.         Project projectFromDb = this.projectRepository.findById(id).get();
  68.  
  69.         projectFromDb.setTitle(projectBindingModel.getTitle());
  70.         projectFromDb.setDescription(projectBindingModel.getDescription());
  71.         projectFromDb.setBudget(projectBindingModel.getBudget());
  72.  
  73.         this.projectRepository.saveAndFlush(projectFromDb);
  74.  
  75.         return "redirect:/";
  76.     }
  77.  
  78.     @GetMapping("/delete/{id}")
  79.     public String delete(Model model, @PathVariable int id) {
  80.         Project projectFromDb = this.projectRepository.findById(id).get();
  81.  
  82.         model.addAttribute("project", projectFromDb);
  83.         model.addAttribute("view", "project/delete");
  84.  
  85.         return "base-layout";
  86.     }
  87.  
  88.     @PostMapping("/delete/{id}")
  89.     public String deleteProcess(@PathVariable int id, ProjectBindingModel projectBindingModel) {
  90.         this.projectRepository.deleteById(id);
  91.  
  92.         return "redirect:/";
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement