/** * Build a Config instance using form data and the reward type * * @param Type\TypeInterface $type * @param array $formData * * @return Config */ public function build(Type\TypeInterface $type, array $formData) { $config = $this->_factory->getConfig(); $config->setType($type); if (!empty($formData['name'])) { $config->setName($formData['name']); } $config->setMessage($formData['message']); $this->_addConstraints($config, $formData); $this->_addTriggers($config, $formData); $this->_addRewardOptions($config, $formData); return $config; }
/** * Loop through database result and bind to a ConfigProxy object. If $asArray is set to false, a single configuration * will be returned. * * @param Result $result * @param bool $asArray * * @return array | ConfigProxy */ private function _bind(Result $result, $asArray = true) { $configs = []; foreach ($result as $row) { $config = $this->_configFactory->getConfigProxy(); $config->setID((int) $row->id); $config->setName($row->name); $config->setType($this->_types->get($row->type)); $config->setMessage($row->message); $createdAt = new \DateTime(); $createdAt->setTimestamp($row->createdAt); $config->setCreatedAt($createdAt); $configs[] = $config; } return $asArray ? $configs : array_shift($configs); }