This commit is contained in:
Yisroel Baum 2025-11-16 21:00:58 +02:00
parent 652c23e330
commit 326dd0dfa9
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -16,29 +16,29 @@ class CreateFreightOrder
public function execute( public function execute(
CreateFreightOrderRequestDTO $dto, CreateFreightOrderRequestDTO $dto,
): FreightOrder { ): FreightOrder {
$savedFreightOrder = $this->constructFreightOrder($dto); $savedFreightOrder = $this->saveFreightOrder($dto);
foreach ($dto->carrierIds as $carrierId) { $this->updateCarriers(
$this->updateCarrier( $dto->carrierIds,
$carrierId,
$savedFreightOrder->getId() $savedFreightOrder->getId()
); );
}
return $savedFreightOrder; return $savedFreightOrder;
} }
private function updateCarrier( private function updateCarriers(
int $carrierId, array $carrierIds,
int $freightOrderId int $freightOrderId
): void { ): void {
foreach ($carrierIds as $carrierId) {
$carrier = $this->carrierRepo->find($carrierId); $carrier = $this->carrierRepo->find($carrierId);
$carrierFreightOrderIds = $carrier->getFreightOrderIds(); $carrierFreightOrderIds = $carrier->getFreightOrderIds();
$carrierFreightOrderIds[] = $freightOrderId; $carrierFreightOrderIds[] = $freightOrderId;
$carrier->setFreightOrderIds($carrierFreightOrderIds); $carrier->setFreightOrderIds($carrierFreightOrderIds);
$this->carrierRepo->save($carrier); $this->carrierRepo->save($carrier);
} }
}
private function constructFreightOrder( private function saveFreightOrder(
CreateFreightOrderRequestDTO $dto, CreateFreightOrderRequestDTO $dto,
): FreightOrder { ): FreightOrder {
return $this->freightOrderRepo->save( return $this->freightOrderRepo->save(