/**
* processes given entity for put.
*
* @param AccountInterface $account
* @param Request $request
*
* @throws EntityNotFoundException
* @throws RestException
*/
protected function doPut(AccountInterface $account, Request $request)
{
$account->setName($request->get('name'));
$account->setCorporation($request->get('corporation'));
$accountManager = $this->getAccountManager();
if ($request->get('uid') !== null) {
$account->setUid($request->get('uid'));
}
if (array_key_exists('id', $request->get('logo', []))) {
$accountManager->setLogo($account, $request->get('logo')['id']);
}
$this->setParent($request->get('parent'), $account);
$user = $this->getUser();
$account->setChanger($user);
// Process details
if (!($accountManager->processUrls($account, $request->get('urls', [])) && $accountManager->processEmails($account, $request->get('emails', [])) && $accountManager->processFaxes($account, $request->get('faxes', [])) && $accountManager->processPhones($account, $request->get('phones', [])) && $accountManager->processAddresses($account, $request->get('addresses', [])) && $accountManager->processTags($account, $request->get('tags', [])) && $accountManager->processNotes($account, $request->get('notes', [])) && $accountManager->processCategories($account, $request->get('categories', [])) && $accountManager->processBankAccounts($account, $request->get('bankAccounts', [])))) {
throw new RestException('Updating dependencies is not possible', 0);
}
}