show already started check for ordertx
This commit is contained in:
@@ -6,6 +6,9 @@ import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.POST;
|
||||
import jakarta.ws.rs.Path;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -24,6 +27,8 @@ public class OrderTx {
|
||||
int showId = orderTransaction.getTickets().stream().findAny().map(Eintrittskarte::getShow).map(Vorstellung::getId).orElse(-1);
|
||||
if (orderTransaction.getTickets().stream().anyMatch(ticket -> ticket.getShow().getId() != showId)) {
|
||||
throw new IllegalArgumentException("tickets for different show ids");
|
||||
} else if (orderTransaction.getTickets().getFirst().getShow().getStart().isBefore(LocalDateTime.ofInstant(Instant.now(), ZoneId.systemDefault()))) {
|
||||
throw new IllegalStateException("show already started");
|
||||
}
|
||||
|
||||
List<String> notCancelledTicketsFilter = List.of("eq;show.id;int;" + showId, "null;order.cancelled;date;1970-01-01T00:00:00");
|
||||
|
||||
Reference in New Issue
Block a user