source/Application/Model/User.php
protected function _assignAddress($aDelAddress)
    {
        if (is_array($aDelAddress) && count($aDelAddress)) {
            $sAddressId = \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('oxaddressid');
            $sAddressId = ($sAddressId === null || $sAddressId == -1 || $sAddressId == -2) ? null : $sAddressId;

            $oAddress = oxNew(\OxidEsales\Eshop\Application\Model\Address::class);
            $oAddress->setId($sAddressId);
            $oAddress->load($sAddressId);
            $oAddress->assign($aDelAddress);
            $oAddress->oxaddress__oxuserid = new \OxidEsales\Eshop\Core\Field($this->getId(), \OxidEsales\Eshop\Core\Field::T_RAW);
            $oAddress->oxaddress__oxcountry = $this->getUserCountry($oAddress->oxaddress__oxcountryid->value);
            $oAddress->save();

            // resetting addresses
            $this->_aAddresses = null;

            // saving delivery Address for later use
            Registry::getSession()->setVariable('deladrid', $oAddress->getId());
        } else {
            // resetting
            Registry::getSession()->setVariable('deladrid', null);
        }
    }
protected function _assignAddress($aDelAddress)
    {
        if (is_array($aDelAddress) && count($aDelAddress)) {
            $sAddressId = \OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter('oxaddressid');
            $sAddressId = ($sAddressId === null || $sAddressId == -1 || $sAddressId == -2) ? null : $sAddressId;

            $oAddress = oxNew(\OxidEsales\Eshop\Application\Model\Address::class);
            $oAddress->setId($sAddressId);
            $oAddress->load($sAddressId);
            $oAddress->assign($aDelAddress);
            $oAddress->oxaddress__oxuserid = new \OxidEsales\Eshop\Core\Field($this->getId(), \OxidEsales\Eshop\Core\Field::T_RAW);
            $oAddress->oxaddress__oxcountry = $this->getUserCountry($oAddress->oxaddress__oxcountryid->value);
            $oAddress->save();

            // resetting addresses
            $this->_aAddresses = null;

            // saving delivery Address for later use
            Registry::getSession()->setVariable('deladrid', $oAddress->getId());
        } else {
            // resetting
            Registry::getSession()->setVariable('deladrid', null);
        }
    }
protected function _assignAddress ( $ aDelAddress ) { if ( is_array ( $ aDelAddress ) && count ( $ aDelAddress ) ) { $ sAddressId = \ OxidEsales \ Eshop \ Core \ Registry :: getConfig ( ) -> getRequestParameter ( 'oxaddressid' ) ; $ sAddressId = ( $ sAddressId === null || $ sAddressId == - 1 || $ sAddressId == - 2 ) ? null : $ sAddressId ; $ oAddress = oxNew ( \ OxidEsales \ Eshop \ Application \ Model \ Address :: class ) ; $ oAddress -> setId ( $ sAddressId ) ; $ oAddress -> load ( $ sAddressId ) ; $ oAddress -> assign ( $ aDelAddress ) ; $ oAddress -> oxaddress__oxuserid = new \ OxidEsales \ Eshop \ Core \ Field ( $ this -> getId ( ) , \ OxidEsales \ Eshop \ Core \ Field :: T_RAW ) ; $ oAddress -> oxaddress__oxcountry = $ this -> getUserCountry ( $ oAddress -> oxaddress__oxcountryid -> value ) ; $ oAddress -> save ( ) ; // resetting addresses $ this -> _aAddresses = null ; // saving delivery Address for later use Registry :: getSession ( ) -> setVariable ( 'deladrid' , $ oAddress -> getId ( ) ) ; } else { // resetting Registry :: getSession ( ) -> setVariable ( 'deladrid' , null ) ; } }
creates new address entry or updates existing

@param array $aDelAddress address data array
creates new address entry or updates existing