/** * @param string $Username * @param string $Password * @param null|TblToken $tblToken * @param null|TblConsumer $tblConsumer * * @return TblAccount */ public function createAccount($Username, $Password, $tblToken = null, $tblConsumer = null) { $Manager = $this->Connection->getEntityManager(); $Entity = $Manager->getEntity('TblAccount')->findOneBy(array(TblAccount::ATTR_USERNAME => $Username)); if (null === $Entity) { $Entity = new TblAccount($Username); $Entity->setPassword(hash('sha256', $Password)); $Entity->setServiceTblToken($tblToken); $Entity->setServiceTblConsumer($tblConsumer); $Manager->saveEntity($Entity); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $Entity); } return $Entity; }