[fc7ec52] | 1 | package com.example.demo.controller;
|
---|
| 2 |
|
---|
| 3 | import com.example.demo.model.Genre;
|
---|
| 4 | import com.example.demo.model.IS_.MovieGenreCombination;
|
---|
| 5 | import com.example.demo.model.IS_.MovieGenreKey;
|
---|
| 6 | import com.example.demo.model.Movie;
|
---|
| 7 | import com.example.demo.repository.GenreRepository;
|
---|
| 8 | import com.example.demo.repository.MovieGenreCombinationRepository;
|
---|
| 9 | import com.example.demo.service.MovieProjectionService;
|
---|
| 10 | import com.example.demo.service.MovieService;
|
---|
| 11 | import org.springframework.security.access.prepost.PreAuthorize;
|
---|
| 12 | import org.springframework.stereotype.Controller;
|
---|
| 13 | import org.springframework.ui.Model;
|
---|
| 14 | import org.springframework.web.bind.annotation.*;
|
---|
| 15 |
|
---|
| 16 | import java.util.List;
|
---|
| 17 |
|
---|
| 18 | @Controller
|
---|
| 19 | @RequestMapping("/movies")
|
---|
| 20 | public class MovieController {
|
---|
| 21 | private final MovieService movieService;
|
---|
| 22 | private final MovieProjectionService movieProjectionService;
|
---|
| 23 | private final MovieGenreCombinationRepository movieGenreCombinationRepository;
|
---|
| 24 | private final GenreRepository genreRepository;
|
---|
| 25 |
|
---|
| 26 | public MovieController(MovieService movieService, MovieProjectionService movieProjectionService, MovieGenreCombinationRepository movieGenreCombinationRepository, GenreRepository genreRepository) {
|
---|
| 27 | this.movieService = movieService;
|
---|
| 28 | this.movieProjectionService = movieProjectionService;
|
---|
| 29 | this.movieGenreCombinationRepository = movieGenreCombinationRepository;
|
---|
| 30 | this.genreRepository = genreRepository;
|
---|
| 31 | }
|
---|
| 32 |
|
---|
| 33 |
|
---|
| 34 | @GetMapping
|
---|
| 35 | public String getMoviePage(@RequestParam(required = false) String error, Model model) {
|
---|
| 36 | if (error != null && !error.isEmpty()) {
|
---|
| 37 | model.addAttribute("hasError", true);
|
---|
| 38 | model.addAttribute("error", error);
|
---|
| 39 | }
|
---|
| 40 | List<Movie> movie= this.movieService.findAll();
|
---|
| 41 | model.addAttribute("movie", movieGenreCombinationRepository.findAll());
|
---|
| 42 | model.addAttribute("bodyContent", "movies");
|
---|
| 43 | return "master-template";
|
---|
| 44 | }
|
---|
| 45 | @PreAuthorize("hasRole('ROLE_EMPLOYEE')")
|
---|
| 46 | @GetMapping("/add-form")
|
---|
| 47 | public String addMoviePage(Model model) {
|
---|
| 48 | List<Movie> movie = this.movieService.findAll();
|
---|
| 49 | List<Genre> genres = this.genreRepository.findAll();
|
---|
| 50 | model.addAttribute("movie", movie);
|
---|
| 51 | model.addAttribute("genre", genres);
|
---|
| 52 | model.addAttribute("bodyContent", "add-movie");
|
---|
| 53 | return "master-template";
|
---|
| 54 | }
|
---|
| 55 |
|
---|
| 56 | @PreAuthorize("hasRole('ROLE_EMPLOYEE')")
|
---|
| 57 | @PostMapping("/add")
|
---|
| 58 | public String saveMovie(
|
---|
| 59 | @RequestParam(required = false) Integer movie_id,
|
---|
| 60 | @RequestParam String movie_name,
|
---|
| 61 | @RequestParam String movie_age_category,
|
---|
| 62 | @RequestParam String movie_cast,
|
---|
| 63 | @RequestParam String movie_film_director,
|
---|
| 64 | @RequestParam String movie_production,
|
---|
| 65 | @RequestParam String movie_time_duration,
|
---|
| 66 | @RequestParam Integer genre_id )
|
---|
| 67 | {
|
---|
| 68 |
|
---|
| 69 | this.movieService.save(movie_id, movie_name, movie_age_category, movie_cast, movie_production,movie_film_director, movie_time_duration);
|
---|
| 70 | MovieGenreKey movieGenreKey = new MovieGenreKey();
|
---|
| 71 | movieGenreKey.setMovie(this.movieService.findById(movie_id).get());
|
---|
| 72 | movieGenreKey.setGenre(this.genreRepository.findById(genre_id).get());
|
---|
| 73 | MovieGenreCombination movieGenreCombination = new MovieGenreCombination();
|
---|
| 74 | movieGenreCombination.setMovieGenreKey(movieGenreKey);
|
---|
| 75 | this.movieGenreCombinationRepository.save(movieGenreCombination);
|
---|
| 76 | return "redirect:/movies";
|
---|
| 77 | }
|
---|
| 78 |
|
---|
| 79 | /*
|
---|
| 80 | @RequestMapping("/view/movies/id?={movie_id}")
|
---|
| 81 | public String viewMovies(Model model, @RequestParam Integer movie_id){
|
---|
| 82 | List<MovieProjection> moviegoer = movieProjectionService.findByMovieID(movie_id);
|
---|
| 83 | model.addAttribute("moviegoer", moviegoer);
|
---|
| 84 | return "view";
|
---|
| 85 | }*/
|
---|
| 86 |
|
---|
| 87 |
|
---|
| 88 |
|
---|
| 89 |
|
---|
| 90 |
|
---|
| 91 | }
|
---|