/** * Adds the customer test data. * * @param array $testdata Associative list of key/list pairs * @param MShop_Common_Manager_Interface $customerManager Customer manager * @param MShop_Common_Item_Address_Interface $address Customer address item * @throws MW_Setup_Exception If a required ID is not available */ protected function _addCustomerData(array $testdata, MShop_Common_Manager_Interface $customerManager, MShop_Common_Item_Address_Interface $address) { $parentIds = array(); $customer = $customerManager->createItem(); foreach ($testdata['customer'] as $key => $dataset) { $address->setCompany($dataset['company']); $address->setVatID(isset($dataset['vatid']) ? $dataset['vatid'] : ''); $address->setSalutation($dataset['salutation']); $address->setTitle($dataset['title']); $address->setFirstname($dataset['firstname']); $address->setLastname($dataset['lastname']); $address->setAddress1($dataset['address1']); $address->setAddress2($dataset['address2']); $address->setAddress3($dataset['address3']); $address->setPostal($dataset['postal']); $address->setCity($dataset['city']); $address->setState($dataset['state']); $address->setCountryId($dataset['countryid']); $address->setTelephone($dataset['telephone']); $address->setEmail($dataset['email']); $address->setTelefax($dataset['telefax']); $address->setWebsite($dataset['website']); $address->setLanguageId($dataset['langid']); $customer->setId(null); $customer->setLabel($dataset['label']); $customer->setCode($dataset['code']); $customer->setStatus($dataset['status']); $customer->setPaymentAddress($address); $customerManager->saveItem($customer); $parentIds[$key] = $customer->getId(); } return $parentIds; }
/** * Initializes the customer item object * * @param array $values List of attributes that belong to the customer item */ public function __construct(MShop_Common_Item_Address_Interface $address, array $values = array(), array $listItems = array(), array $refItems = array(), $salt = '') { parent::__construct('customer.', $values, $listItems, $refItems); foreach ($values as $name => $value) { switch ($name) { case 'salutation': $address->setSalutation($value); break; case 'company': $address->setCompany($value); break; case 'vatid': $address->setVatID($value); break; case 'title': $address->setTitle($value); break; case 'firstname': $address->setFirstname($value); break; case 'lastname': $address->setLastname($value); break; case 'address1': $address->setAddress1($value); break; case 'address2': $address->setAddress2($value); break; case 'address3': $address->setAddress3($value); break; case 'postal': $address->setPostal($value); break; case 'city': $address->setCity($value); break; case 'state': $address->setState($value); break; case 'langid': $address->setLanguageId($value); break; case 'countryid': $address->setCountryId($value); break; case 'telephone': $address->setTelephone($value); break; case 'telefax': $address->setTelefax($value); break; case 'website': $address->setWebsite($value); break; case 'email': $address->setEmail($value); break; } } $this->_billingaddress = $address; $this->_values = $values; $this->_salt = $salt; }