• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/repository/location/strategy/save.php
  • Класс: BitrixLocationRepositoryLocationStrategySave
  • Вызов: Save::save
public function save(Location $location): Result
{
	if($location->getId() <= 0)
	{
		return (new NewItem($this->locationRepositories))
			->save($location);
	}

	$result = new Result();

	foreach($this->locationRepositories as $repository)
	{
		$res = $repository->save($location);

		if(!$res->isSuccess())
		{
			$result->addErrors($res->getErrors());
		}
	}

	if($parents = $location->getParents())
	{
		$res = $this->saveParents($parents);

		if (!$res->isSuccess())
		{
			$result->addErrors($res->getErrors());
		}
	}

	return $result;
}