*/ public function getAll(): array { return Order::query()->get()->all(); } public function find(UuidInterface $id): ?Order { return Order::query()->find($id->toString()); } public function persist(Order $order): void { $order->save(); } public function delete(Order $order): void { $order->delete(); } /** @return array */ public function getValidatedOrdersForPickupDay(CarbonInterface $pickupDay): array { return Order::query() ->whereDate('pickup_day', $pickupDay->format('Y-m-d')) ->where('status', OrderStatus::VALIDATED) ->get() ->all(); } public function hasValidatedOrderForPickupDay(Matricule $matricule, CarbonInterface $pickupDay): bool { return Order::query() ->where('employee_matricule', $matricule->value) ->whereDate('pickup_day', $pickupDay->format('Y-m-d')) ->where('status', OrderStatus::VALIDATED) ->exists(); } /** @return array */ public function getOrdersWithLinesAndShopForPickupDay(CarbonInterface $pickupDay): array { return Order::query() ->with(['lines', 'shop']) ->whereDate('pickup_day', $pickupDay->format('Y-m-d')) ->get() ->all(); } }