/** * Process geiven entity for patch. * * @param AccountInterface $account * @param Request $request * @param ObjectManager $entityManager */ protected function doPatch(AccountInterface $account, Request $request, ObjectManager $entityManager) { $accountManager = $this->getAccountManager(); if ($request->get('uid') !== null) { $account->setUid($request->get('uid')); } if ($request->get('registerNumber') !== null) { $account->setRegisterNumber($request->get('registerNumber')); } if ($request->get('number') !== null) { $account->setNumber($request->get('number')); } if ($request->get('placeOfJurisdiction') !== null) { $account->setPlaceOfJurisdiction($request->get('placeOfJurisdiction')); } if (array_key_exists('id', $request->get('logo', []))) { $accountManager->setLogo($account, $request->get('logo')['id']); } if ($request->get('medias') !== null) { $accountManager->setMedias($account, $request->get('medias')); } // Check if mainContact is set if (($mainContactRequest = $request->get('mainContact')) !== null) { $mainContact = $entityManager->getRepository($this->container->getParameter('sulu.model.contact.class'))->find($mainContactRequest['id']); if ($mainContact) { $account->setMainContact($mainContact); } } // Process details if ($request->get('bankAccounts') !== null) { $accountManager->processBankAccounts($account, $request->get('bankAccounts', [])); } }