protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(false); if (session == null || session.getAttribute("klant") == null) { response.sendRedirect(String.format(LOGIN_REDIRECT, request.getContextPath())); } else { Klant klant = klantService.read(((Klant) session.getAttribute("klant")).getId()); if (klant != null) { Set<InterfaceLijn> oud = new TreeSet<>(); Set<InterfaceLijn> huidig = new TreeSet<>(); for (InterfaceLijn lijn : klant.getReservaties()) { if (lijn.getOpvoering().getDatum().before(Calendar.getInstance().getTime())) { oud.add(lijn); } else { huidig.add(lijn); } } if (!oud.isEmpty()) { request.setAttribute("oud", oud); } if (!huidig.isEmpty()) { request.setAttribute("huidig", huidig); } session.setAttribute("klant", klant); request.getRequestDispatcher(VIEW).forward(request, response); } } }
@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"; }