name = $organizationalUnit->getName(); $this->parent = new OrganizationalUnitOutput($organizationalUnit->getParent()); $this->description = $organizationalUnit->getDescription(); $this->comments = $organizationalUnit->getComments(); $this->location = $organizationalUnit->getLocation(); $this->projector = $organizationalUnit->isProjector(); $this->board = $organizationalUnit->isBoard(); $this->capacity = $organizationalUnit->getCapacity(); $this->proxy = $organizationalUnit->getNetworkSettings()->getProxy(); $this->dns = $organizationalUnit->getNetworkSettings()->getDns(); $this->netmask = $organizationalUnit->getNetworkSettings()->getNetmask(); $this->router = $organizationalUnit->getNetworkSettings()->getRouter(); $this->ntp = $organizationalUnit->getNetworkSettings()->getNtp(); $this->p2pMode = $organizationalUnit->getNetworkSettings()->getP2pMode(); $this->p2pTime = $organizationalUnit->getNetworkSettings()->getP2pTime(); $this->mcastIp = $organizationalUnit->getNetworkSettings()->getMcastIp(); $this->mcastSpeed = $organizationalUnit->getNetworkSettings()->getMcastSpeed(); $this->mcastPort = $organizationalUnit->getNetworkSettings()->getMcastPort(); $this->mcastMode = $organizationalUnit->getNetworkSettings()->getMcastMode(); } public function createOrUpdateEntity( ?OrganizationalUnit $organizationalUnit = null, ?EntityManagerInterface $entityManager = null ): OrganizationalUnit { if (!$organizationalUnit) { $organizationalUnit = new OrganizationalUnit(); } $organizationalUnit->setName($this->name); $organizationalUnit->setType(OrganizationalUnitTypes::CLASSROOM); $organizationalUnit->setParent($this->parent->getEntity()); $organizationalUnit->setDescription($this->description); $organizationalUnit->setComments($this->comments); $organizationalUnit->setLocation($this->location); $organizationalUnit->setProjector($this->projector); $organizationalUnit->setBoard($this->board); $organizationalUnit->setCapacity($this->capacity); $networkSettings = new NetworkSettings(); $networkSettings->setProxy($this->proxy); $networkSettings->setDns($this->dns); $networkSettings->setNetmask($this->netmask); $networkSettings->setRouter($this->router); $networkSettings->setNtp($this->ntp); $networkSettings->setP2pMode($this->p2pMode); $networkSettings->setP2pTime($this->p2pTime); $networkSettings->setMcastIp($this->mcastIp); $networkSettings->setMcastSpeed($this->mcastSpeed); $networkSettings->setMcastPort($this->mcastPort); $networkSettings->setMcastMode($this->mcastMode); $entityManager->persist($networkSettings); $organizationalUnit->setNetworkSettings($networkSettings); return $organizationalUnit; } }