/** * Create an instance of Bundle from data taken from a submitted Form\BundleForm instance * * @param array $data * * @return Bundle */ public function build(array $data) { $this->_validateData($data); $bundle = new Bundle($this->_defaultCurrency); if (!empty($data[Form\BundleForm::ID])) { $bundle->setID($data[Form\BundleForm::ID]); } $bundle->setName($data[Form\BundleForm::NAME]); if (!empty($data[Form\BundleForm::START])) { $bundle->setStart($data[Form\BundleForm::START]); } if (!empty($data[Form\BundleForm::END])) { $bundle->setEnd($data[Form\BundleForm::END]); } $bundle->setAllowCodes(!empty($data[Form\BundleForm::CODES])); $this->_addProducts($bundle, $data); $this->_addPrices($bundle, $data); $this->_addImage($bundle, $data); return $bundle; }