/** * Extrait les informations du personnagee des donnes de battlnet et et les transforme en objet utilisable de notre coté. * Manque la faction qui n'est pas disponible * @param array $aDataItemBnet * @return \Core\Model\Items * @throws Exception */ public static function extraitItemDepuisBnet($aDataItemBnet) { if (!isset($aDataItemBnet)) { throw new \Exception('Les datas personnages issues de bnet ne peuvent être vide.'); } $oItem = new \Commun\Model\Items(); $oItem->setIdBnet($aDataItemBnet['id']); $oItem->setNom($aDataItemBnet['name']); $oItem->setIcon($aDataItemBnet['icon']); return $oItem; }
/** * Sauvegarde ou met a jour l'item passé. * @param \Commun\Model\Items $oItems * @return \Core\Model\Items */ public function saveOrUpdateItem($oItems) { try { $oTabItem = $this->selectBy(array('idBnet' => $oItems->getIdBnet())); } catch (\Exception $exc) { throw new DatabaseException(3000, 4, $this->_getServiceLocator(), $oItems->getArrayCopy(), $exc); } //si il existe pas on le cree if (!$oTabItem) { try { $oTabItem = new \Commun\Model\Items(); $oTabItem->setAjouterPar("Import Raid-TracKer"); $oTabItem->setNom(strtolower($oItems->getNom())); $oTabItem->setIcon($oItems->getIcon()); $oTabItem->setIdBnet($oItems->getIdBnet()); $this->insert($oTabItem); $oTabItem->setIdItem($this->lastInsertValue); } catch (\Exception $exc) { throw new DatabaseException(3000, 2, $this->_getServiceLocator(), $oItems->getArrayCopy(), $exc); } } return $oTabItem; }