/** * @param \Generated\Shared\Transfer\InvoiceTransfer $invoiceTransfer * * @return \Generated\Shared\Transfer\InvoiceTransfer */ protected function writeAddress(InvoiceTransfer $invoiceTransfer) { $billingAddressTransfer = $invoiceTransfer->getInvoiceBillingAddress(); $shippingAddressTransfer = $invoiceTransfer->getInvoiceShippingAddress(); $idBillingAddress = $this->writeInvoiceAddress($billingAddressTransfer); $idSalesBillingAddress = $billingAddressTransfer->getIdSalesOrderAddress(); $idSalesShippingAddress = $shippingAddressTransfer->getIdSalesOrderAddress(); if ($idSalesBillingAddress !== null && $idSalesBillingAddress === $idSalesShippingAddress) { $idShippingAddress = $idBillingAddress; } else { $idShippingAddress = $this->writeInvoiceAddress($invoiceTransfer->getInvoiceShippingAddress()); } $invoiceTransfer->setFkShippingAddress($idShippingAddress); $invoiceTransfer->setFkBillingAddress($idBillingAddress); return $invoiceTransfer; }