@RequestMapping(method = RequestMethod.GET) public ModelAndView bevestig_reservatie(Principal principal) { ModelAndView modelAndView = new ModelAndView("bevestig_reservatie"); if (reservatiemandje.getReservatiemandje() != null && !reservatiemandje.getReservatiemandje().isEmpty()) { try { modelAndView.addObject( "gebruikerGegevens", klantService.findByGebruikersnaam(principal.getName())); } catch (NullPointerException ex) { } } else { modelAndView.addObject( "fouten", "U kan geen reservaties bevestigen want uw winkelmandje is leeg."); } return modelAndView; }
@RequestMapping(method = RequestMethod.POST, params = "bevestig") public String bevestigReservatie(Principal principal) { if (reservatiemandje.getReservatiemandje() != null & !reservatiemandje.getReservatiemandje().isEmpty()) { Map<Long, Integer> mandje = reservatiemandje.getReservatiemandje(); Map<Long, Integer> mislukteReserveringen = new HashMap<Long, Integer>(); Map<Long, Integer> gelukteReserveringen = new HashMap<Long, Integer>(); Klant klant = klantService.findByGebruikersnaam(principal.getName()); for (Map.Entry<Long, Integer> entry : mandje.entrySet()) { Voorstelling voorstelling = voorstellingService.read(entry.getKey()); Reservatie reservatie = new Reservatie(entry.getValue(), voorstelling, klant); if (reservatieService.create(reservatie)) { gelukteReserveringen.put(entry.getKey(), entry.getValue()); } else { mislukteReserveringen.put(entry.getKey(), entry.getValue()); } } reservatiemandje.setReservatiemandje(null); mislukteReservering.setReservatiemandje(mislukteReserveringen); gelukteReservering.setReservatiemandje(gelukteReserveringen); } return "redirect:/overzicht"; }