Beispiel #1
0
 /**
  * saving the entity
  *
  * @param BaseEntityAbstract $entity The entity that we are trying to populate for
  *
  * @return BaseEntityAbstract
  */
 public static function save(BaseEntityAbstract $entity)
 {
     $qry = new DaoQuery(get_class($entity));
     $entity->preSave();
     $params = self::_getParams($entity);
     $id = $entity->getId();
     if (trim($id) === '') {
         $now = new UDate();
         $params['active'] = 1;
         $entity->setActive(true);
         $params['created'] = $entity->getCreated();
         if (!$params['created'] instanceof UDate) {
             $params['created'] = trim($now);
             $entity->setCreated($now);
         }
         $params['updated'] = $entity->getUpdated();
         if (!$params['updated'] instanceof UDate) {
             $params['updated'] = trim($now);
             $entity->setUpdated($now);
         }
         self::_execSql($qry->generateForInsert(), $params, $id);
         $entity->setId($id);
     } else {
         $params['id'] = $id;
         $params['updated'] = new UDate();
         self::_execSql($qry->generateForUpdate(), $params);
     }
     $entity->postSave();
     return $entity;
 }