* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Adapter\Product\Combination\Update\Filler; use Combination; use PrestaShop\PrestaShop\Core\Domain\Product\Combination\Command\UpdateCombinationCommand; /** * Fills combination properties which can be considered as combination details */ class DetailsFiller implements CombinationFillerInterface { /** * {@inheritDoc} */ public function fillUpdatableProperties(Combination $combination, UpdateCombinationCommand $command): array { $updatableProperties = []; if (null !== $command->getEan13()) { $combination->ean13 = $command->getEan13()->getValue(); $updatableProperties[] = 'ean13'; } if (null !== $command->getIsbn()) { $combination->isbn = $command->getIsbn()->getValue(); $updatableProperties[] = 'isbn'; } if (null !== $command->getMpn()) { $combination->mpn = $command->getMpn(); $updatableProperties[] = 'mpn'; } if (null !== $command->getReference()) { $combination->reference = $command->getReference()->getValue(); $updatableProperties[] = 'reference'; } if (null !== $command->getUpc()) { $combination->upc = $command->getUpc()->getValue(); $updatableProperties[] = 'upc'; } if (null !== $command->getImpactOnWeight()) { $combination->weight = (float) (string) $command->getImpactOnWeight(); $updatableProperties[] = 'weight'; } return $updatableProperties; } }