• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/repository/location/strategy/save/newitem.php
  • Класс: BitrixLocationRepositoryLocationStrategySaveNewItem
  • Вызов: NewItem::save
public function save(Location $location): Result
{
	if($existedLocation = $this->findLocalSavedLocation($location))
	{
		$location->setId($existedLocation->getId());
		$location->setCode($existedLocation->getCode());
	}

	$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;
}