/**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      CcPlayoutHistoryTemplate $value A CcPlayoutHistoryTemplate object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(CcPlayoutHistoryTemplate $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getDbId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
 /**
  * Filter the query by a related CcPlayoutHistoryTemplate object
  *
  * @param     CcPlayoutHistoryTemplate $ccPlayoutHistoryTemplate  the related object to use as filter
  * @param     string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
  *
  * @return    CcPlayoutHistoryTemplateFieldQuery The current query, for fluid interface
  */
 public function filterByCcPlayoutHistoryTemplate($ccPlayoutHistoryTemplate, $comparison = null)
 {
     return $this->addUsingAlias(CcPlayoutHistoryTemplateFieldPeer::TEMPLATE_ID, $ccPlayoutHistoryTemplate->getDbId(), $comparison);
 }
 public function createTemplate($config)
 {
     $this->con->beginTransaction();
     try {
         $type = $config["type"];
         $method = "default" . ucfirst($type) . "Template";
         $default = $this->{$method}();
         $name = isset($config["name"]) ? $config["name"] : $default["name"];
         $fields = isset($config["fields"]) ? $config["fields"] : $default["fields"];
         $doSetDefault = isset($config['setDefault']) ? $config['setDefault'] : false;
         $template = new CcPlayoutHistoryTemplate();
         $template->setDbName($name);
         $template->setDbType($type);
         foreach ($fields as $index => $field) {
             $isMd = $field["isFileMd"] == 'true' ? true : false;
             $templateField = new CcPlayoutHistoryTemplateField();
             $templateField->setDbName($field["name"]);
             $templateField->setDbLabel($field["label"]);
             $templateField->setDbType($field["type"]);
             $templateField->setDbIsFileMD($isMd);
             $templateField->setDbPosition($index);
             $template->addCcPlayoutHistoryTemplateField($templateField);
         }
         $template->save($this->con);
         if ($doSetDefault) {
             $this->setConfiguredItemTemplate($template->getDbid());
         }
         $this->con->commit();
         return $template->getDbid();
     } catch (Exception $e) {
         $this->con->rollback();
         throw $e;
     }
 }
 /**
  * Declares an association between this object and a CcPlayoutHistoryTemplate object.
  *
  * @param      CcPlayoutHistoryTemplate $v
  * @return     CcPlayoutHistoryTemplateTag The current object (for fluent API support)
  * @throws     PropelException
  */
 public function setCcPlayoutHistoryTemplate(CcPlayoutHistoryTemplate $v = null)
 {
     if ($v === null) {
         $this->setDbTemplateId(NULL);
     } else {
         $this->setDbTemplateId($v->getDbId());
     }
     $this->aCcPlayoutHistoryTemplate = $v;
     // Add binding for other direction of this n:n relationship.
     // If this object has already been added to the CcPlayoutHistoryTemplate object, it will not be re-added.
     if ($v !== null) {
         $v->addCcPlayoutHistoryTemplateTag($this);
     }
     return $this;
 }
 /**
  * Exclude object from result
  *
  * @param     CcPlayoutHistoryTemplate $ccPlayoutHistoryTemplate Object to remove from the list of results
  *
  * @return    CcPlayoutHistoryTemplateQuery The current query, for fluid interface
  */
 public function prune($ccPlayoutHistoryTemplate = null)
 {
     if ($ccPlayoutHistoryTemplate) {
         $this->addUsingAlias(CcPlayoutHistoryTemplatePeer::ID, $ccPlayoutHistoryTemplate->getDbId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }