/** * @param Customer $entity */ protected function setDefaultGroup(Customer $entity) { if (!$entity->getGroup() && $entity->getWebsite()->getDefaultGroupId()) { $em = $this->strategyHelper->getEntityManager('OroCRMMagentoBundle:CustomerGroup'); $group = $em->getRepository('OroCRMMagentoBundle:CustomerGroup')->findOneBy(['originId' => $entity->getWebsite()->getDefaultGroupId(), 'channel' => $entity->getChannel()]); $entity->setGroup($group); } }
/** * @param $firstName * @param $lastname */ protected function createCustomer($firstName, $lastname) { $customer = new Customer(); $customer->setChannel($this->getReference('integration')); $customer->setDataChannel($this->getReference('default_channel')); $customer->setFirstName($firstName); $customer->setLastName($lastname); $customer->setEmail(strtolower($firstName . '_' . $lastname . '@example.com')); $customer->setIsActive(true); $customer->setWebsite($this->getReference('website')); $customer->setStore($this->getReference('store')); $customer->setAccount($this->getReference('account')); $customer->setGender(Gender::MALE); $customer->setGroup($this->getReference('customer_group')); $customer->setCreatedAt(new \DateTime('now')); $customer->setUpdatedAt(new \DateTime('now')); $customer->setOwner($this->user); $customer->setOrganization($this->organization); $this->em->persist($customer); }
/** * @param $oid * @param Account $account * @param MagentoAddress $address * * @return Customer */ protected function createCustomer($oid, Account $account, MagentoAddress $address) { $customer = new Customer(); $customer->setChannel($this->integration); $customer->setDataChannel($this->channel); $customer->setFirstName('John'); $customer->setLastName('Doe'); $customer->setEmail('*****@*****.**'); $customer->setOriginId($oid); $customer->setIsActive(true); $customer->setWebsite($this->website); $customer->setStore($this->store); $customer->setAccount($account); $customer->setGender(Gender::MALE); $customer->setGroup($this->customerGroup); $customer->setCreatedAt(new \DateTime('now')); $customer->setUpdatedAt(new \DateTime('now')); $customer->addAddress($address); $customer->setOwner($this->getUser()); $customer->setOrganization($this->organization); $this->em->persist($customer); return $customer; }
/** * @param $oid * @param Account $account * @param MagentoAddress $address * * @return Customer */ protected function createCustomer($oid, Account $account, MagentoAddress $address) { $customer = new Customer(); $customer->setChannel($this->integration); $customer->setDataChannel($this->channel); $customer->setFirstName('John'); $customer->setLastName('Doe'); $customer->setEmail('*****@*****.**'); $customer->setOriginId($oid); $customer->setIsActive(true); $customer->setWebsite($this->website); $customer->setStore($this->store); $customer->setAccount($account); $customer->setGender(Gender::MALE); $customer->setGroup($this->customerGroup); // TODO: DateTimeZones should be removed in BAP-8710. Tests should be passed for: // - OroCRM\Bundle\MagentoBundle\Tests\Functional\Controller\Api\Rest\CustomerControllerTest // - OroCRM\Bundle\MagentoBundle\Tests\Functional\Controller\Api\Rest\MagentoCustomerControllerTest $customer->setCreatedAt(new \DateTime('now', new \DateTimezone('UTC'))); $customer->setUpdatedAt(new \DateTime('now', new \DateTimezone('UTC'))); $customer->addAddress($address); $customer->setOwner($this->getUser()); $customer->setOrganization($this->organization); $this->em->persist($customer); return $customer; }
protected function setGroup(Customer $object, array $data, $format = null, array $context = array()) { /** @var CustomerGroup $group */ $group = $this->denormalizeObject($data, 'group', MagentoConnectorInterface::CUSTOMER_GROUPS_TYPE, $format, $context); if ($group) { $group->setChannel($object->getChannel()); $object->setGroup($group); } }