@RequestMapping(value = "/events/check", method = POST) public ValidationResult validateEvent( @RequestBody EventModification eventModification, Errors errors) { ValidationResult base = validateEventHeader(Optional.<Event>empty(), eventModification, errors) .or(validateEventPrices(Optional.<Event>empty(), eventModification, errors)) .or( eventModification .getAdditionalServices() .stream() .map(as -> validateAdditionalService(as, eventModification, errors)) .reduce(ValidationResult::or) .orElse(ValidationResult.success())); AtomicInteger counter = new AtomicInteger(); return base.or( eventModification .getTicketCategories() .stream() .map( c -> validateCategory( c, errors, "ticketCategories[" + counter.getAndIncrement() + "].")) .reduce(ValidationResult::or) .orElse(ValidationResult.success())) .or(validateAdditionalTicketFields(eventModification.getTicketFields(), errors)); }
@RequestMapping( value = "/events/{eventName}/pending-payments/{reservationId}/confirm", method = POST) public String confirmPayment( @PathVariable("eventName") String eventName, @PathVariable("reservationId") String reservationId, Principal principal, Model model, HttpServletRequest request) { ticketReservationManager.confirmOfflinePayment(loadEvent(eventName, principal), reservationId); ticketReservationManager .findById(reservationId) .filter(TicketReservation::isDirectAssignmentRequested) .ifPresent( reservation -> ticketHelper.directTicketAssignment( eventName, reservationId, reservation.getEmail(), reservation.getFullName(), reservation.getFirstName(), reservation.getLastName(), reservation.getUserLanguage(), Optional.empty(), request, model)); return OK; }