コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     if (!empty($data['paymentDetails'])) {
         $data['paymentDetails'] = $this->denormalizePaymentDetails($data['paymentDetails']);
     }
     return parent::denormalize($data, $class, $format, $context);
 }
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     /** @var MemberExtendedMergeVar $entity */
     $entity = parent::denormalize($data, $class, $format, $context);
     /** @var StaticSegment $staticSegment */
     $staticSegment = $this->databaseHelper->getEntityReference($entity->getStaticSegment());
     if (!$staticSegment) {
         return $entity;
     }
     $extendedMergeVars = $staticSegment->getSyncedExtendedMergeVars();
     if ($extendedMergeVars->isEmpty()) {
         return $entity;
     }
     $columns = $this->getColumns($staticSegment->getMarketingList());
     $columnAliases = $this->getColumnAliases($staticSegment->getMarketingList());
     $mergeVarValues = [];
     foreach ($extendedMergeVars as $extendedMergeVar) {
         $value = $this->getValue($extendedMergeVar, $data, $columns, $columnAliases);
         if ($value) {
             $mergeVarValues[$extendedMergeVar->getTag()] = $value;
         }
     }
     $this->fieldHelper->setObjectValue($entity, 'merge_var_values', $mergeVarValues);
     return $entity;
 }
コード例 #3
0
ファイル: ContactNormalizer.php プロジェクト: antrampa/crm
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = array())
 {
     foreach (static::$socialFields as $socialType => $fieldName) {
         if (!empty($data[$fieldName])) {
             $data[$fieldName] = $this->socialUrlFormatter->getSocialUsername($socialType, $data[$fieldName]);
         }
     }
     return parent::denormalize($data, $class, $format, $context);
 }
コード例 #4
0
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     /** @var OrderItem $object */
     $object = parent::denormalize($data, $class, $format, $context);
     if ($object->getDiscountPercent()) {
         $object->setDiscountPercent($object->getDiscountPercent() / 100);
     }
     if ($object->getTaxPercent()) {
         $object->setTaxPercent($object->getTaxPercent() / 100);
     }
     return $object;
 }
コード例 #5
0
ファイル: OrderDenormalizer.php プロジェクト: dairdr/crm
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = array())
 {
     if (array_key_exists('paymentDetails', $data)) {
         $data['paymentDetails'] = $this->importHelper->denormalizePaymentDetails($data['paymentDetails']);
     }
     /** @var Order $order */
     $order = parent::denormalize($data, $class, $format, $context);
     $integration = $this->importHelper->getIntegrationFromContext($context);
     $order->setChannel($integration);
     $order->setDataChannel($this->channelImportHelper->getChannel($integration));
     if ($order->getStore()) {
         $order->getStore()->setChannel($integration);
     }
     return $order;
 }
コード例 #6
0
ファイル: CartNormalizer.php プロジェクト: dairdr/crm
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = array())
 {
     if (array_key_exists('paymentDetails', $data)) {
         $data['paymentDetails'] = $this->importHelper->denormalizePaymentDetails($data['paymentDetails']);
     }
     /** @var Cart $cart */
     $cart = parent::denormalize($data, $class, $format, $context);
     $integration = $this->importHelper->getIntegrationFromContext($context);
     $cart->setChannel($integration);
     $cart->setDataChannel($this->channelImportHelper->getChannel($integration));
     if ($cart->getStore()) {
         $cart->getStore()->setChannel($integration);
     }
     if (!empty($data['email'])) {
         $cart->getCustomer()->setEmail($data['email']);
     }
     $this->updateStatus($cart, $data);
     return $cart;
 }
コード例 #7
0
 /**
  * @dataProvider denormalizeDataProvider
  * @param array $data
  * @param string $class
  * @param array $fields
  * @param object $expected
  */
 public function testDenormalize($data, $class, $fields, $expected)
 {
     $context = array();
     $denormalizedMap = array();
     foreach ($fields as $field) {
         $fieldName = $field['name'];
         if (isset($field['denormalizedValue'])) {
             $fieldValue = $data[$fieldName];
             $entityClass = $field['expectedEntityClass'];
             $context = array_merge($context, ['fieldName' => $fieldName]);
             $denormalizedMap[] = array($fieldValue, $entityClass, null, $context, $field['denormalizedValue']);
         }
     }
     $serializer = $this->getMockBuilder('Oro\\Bundle\\ImportExportBundle\\Serializer\\Serializer')->disableOriginalConstructor()->getMock();
     if ($denormalizedMap) {
         $serializer->expects($this->atLeastOnce())->method('denormalize')->will($this->returnValueMap($denormalizedMap));
     }
     $this->normalizer->setSerializer($serializer);
     $this->fieldHelper->expects($this->atLeastOnce())->method('getFields')->will($this->returnValue($fields));
     $this->assertEquals($expected, $this->normalizer->denormalize($data, $class, null, $context));
 }
コード例 #8
0
ファイル: CompositeNormalizer.php プロジェクト: dairdr/crm
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = array())
 {
     $data = $this->dataConverter->convertToImportFormat($data);
     return parent::denormalize($data, $class, $format, $context);
 }
コード例 #9
0
ファイル: DataNormalizer.php プロジェクト: Maksold/platform
 /**
  * {@inheritdoc}
  */
 public function denormalize($data, $class, $format = null, array $context = array())
 {
     return parent::denormalize($this->updateData($data), $class, $format, $context);
 }