/** * @param string $Name * @param string $Description * @param bool $IsLocked * @param string $Identifier * * @return TblGroup */ public function createGroup($Name, $Description = '', $IsLocked = false, $Identifier = '') { $Manager = $this->Connection->getEntityManager(); if ($IsLocked) { $Entity = $Manager->getEntity('TblGroup')->findOneBy(array(TblGroup::ATTR_IS_LOCKED => $IsLocked, TblGroup::ATTR_IDENTIFIER => $Identifier)); } else { $Entity = $Manager->getEntity('TblGroup')->findOneBy(array(TblGroup::ATTR_NAME => $Name)); } if (null === $Entity) { $Entity = new TblGroup(); $Entity->setName($Name); $Entity->setDescription($Description); $Entity->setIsLocked($IsLocked); $Entity->setIdentifier($Identifier); $Manager->saveEntity($Entity); Protocol::useService()->createInsertEntry($this->Connection->getDatabase(), $Entity); } return $Entity; }