mirror of
https://github.com/st-tu-dresden-praktikum/swt23w23
synced 2024-07-19 21:04:36 +02:00
Add filteredByDay to OrderController
This commit is contained in:
parent
d29c1b4553
commit
b3d93685c3
|
@ -2,10 +2,12 @@ package catering.order;
|
|||
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* This class is only used for the prototype to avoid using the bloated Salespoint API
|
||||
|
@ -34,4 +36,12 @@ public class CustomOrderRepository {
|
|||
public Collection<CustomOrder> getOrders() {
|
||||
return new ArrayList<>(this.orders);
|
||||
}
|
||||
|
||||
// For Theo: returns all orders that happen on this day
|
||||
public Collection<CustomOrder> getOrdersByDate(LocalDate date) {
|
||||
return this.orders.stream().filter(order ->
|
||||
(order.getStart().toLocalDate().isBefore(date) || order.getStart().toLocalDate().isEqual(date))
|
||||
&& (order.getFinish().toLocalDate().isAfter(date) || order.getFinish().toLocalDate().isEqual(date))
|
||||
).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.*;
|
|||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.Optional;
|
||||
|
||||
|
@ -30,6 +31,18 @@ public class OrderController {
|
|||
return "orders";
|
||||
}
|
||||
|
||||
// For Theo: filters orders by day
|
||||
@GetMapping("/orders/{day}")
|
||||
public String orders(@PathVariable String day, Model model) {
|
||||
// Obtains an instance of LocalDate from a text string such as 2007-12-03. (https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html)
|
||||
LocalDate date = LocalDate.parse(day);
|
||||
|
||||
Collection<CustomOrder> myOrders = orderRepository.getOrdersByDate(date);
|
||||
model.addAttribute("orders", myOrders);
|
||||
model.addAttribute("total", myOrders.size());
|
||||
return "orders";
|
||||
}
|
||||
|
||||
@GetMapping("/event")
|
||||
public String event(Model model) {
|
||||
model.addAttribute("orderType", cart.getOrderType());
|
||||
|
|
Loading…
Reference in a new issue