From 6ad041a945872c55b4bd1062b87edfdb3c47cdd0 Mon Sep 17 00:00:00 2001 From: Yisroel Baum Date: Wed, 12 Nov 2025 22:10:20 +0200 Subject: [PATCH] freight order repo and fake impls of find and save --- src/FreightOrder/FreightOrderRepository.php | 10 ++++ .../FakeFreightOrderRepository.php | 52 +++++++++++++++++-- 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 src/FreightOrder/FreightOrderRepository.php diff --git a/src/FreightOrder/FreightOrderRepository.php b/src/FreightOrder/FreightOrderRepository.php new file mode 100644 index 0000000..2034216 --- /dev/null +++ b/src/FreightOrder/FreightOrderRepository.php @@ -0,0 +1,10 @@ +existingFreightOrders as $freightOrder) { + if ($freightOrder->getId() === $id) { + return new FreightOrder( + $freightOrder->getId(), + $freightOrder->getShipFrom(), + $freightOrder->getShipTo(), + $freightOrder->getPickupDate(), + $freightOrder->getDeliveryDeadline(), + $freightOrder->getLoadDetails(), + $freightOrder->getNotes(), + $freightOrder->getFileAttachments(), + ); + } + } + + return null; + } + + public function save(FreightOrder $freightOrder): FreightOrder + { + $id = $freightOrder->getId(); + if ($id === null) { + $id = $this->getNextId(); + $freightOrder->setId($id); + } + $this->existingFreightOrders[$id] = $freightOrder; + return new FreightOrder( + $freightOrder->getId(), + $freightOrder->getShipFrom(), + $freightOrder->getShipTo(), + $freightOrder->getPickupDate(), + $freightOrder->getDeliveryDeadline(), + $freightOrder->getLoadDetails(), + $freightOrder->getNotes(), + $freightOrder->getFileAttachments(), + ); + } + + private function getNextId(): int + { + return count($this->existingFreightOrders); } }