/** * "Success" form handler * * @param Order $entity */ protected function onSuccess(Order $entity) { if (null === $entity->getOrganization()) { $entity->setOrganization($this->organization); } /** @var OrderAddress $address */ foreach ($entity->getAddresses() as $address) { if (null === $address->getOwner()) { $address->setOwner($entity); } if (null === $address->getOrganization()) { $address->setOrganization($this->organization); } } /** @var OrderItem $item */ foreach ($entity->getItems() as $item) { if (null === $item->getOrder()) { $item->setOrder($entity); } } $this->manager->persist($entity); $this->manager->flush(); }
/** * @param Order $order * * @return OrderStrategy */ protected function processItems(Order $order) { foreach ($order->getItems() as $item) { $item->setOwner($order->getOrganization()); $item->setOrder($order); } return $this; }