/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $UUID = UUID::mint(); $dto->setId($UUID->string); $dto->setDataCriacao(time()); $dto->setStatus(WeLearn_Cursos_StatusCurso::CONTEUDO_BLOQUEADO); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); if (!is_null($dto->getImagem())) { $dto->getImagem()->setCursoId($dto->getId()); $this->_imagemDAO->salvar($dto->getImagem()); } if (!is_null($dto->getConfiguracao())) { $dto->getConfiguracao()->setCursoId($dto->getId()); $this->_configuracaoDAO->salvar($dto->getConfiguracao()); } //indexes //Retirando caracteres especiais do nome do curso $nomeSimplificado = url_title(convert_accented_characters(strtolower($dto->getNome()))); $primeiraLetra = $nomeSimplificado[0]; $this->_cursosPorNomeCF->insert($primeiraLetra, array($nomeSimplificado => $UUID->bytes)); $this->_cursosPorAreaCF->insert('__todos__', array($UUID->bytes => '')); $this->_cursosPorAreaCF->insert($dto->getSegmento()->getArea()->getId(), array($UUID->bytes => '')); $this->_cursosPorSegmentoCF->insert($dto->getSegmento()->getId(), array($UUID->bytes => '')); $this->_cursosPorCriadorCF->insert($dto->getCriador()->getId(), array($UUID->bytes => '')); $this->_usuariosPorCursoCF->insert($UUID->bytes, array($dto->getCriador()->getId() => $dto->getCriador()->getNivelAcesso())); get_instance()->db->insert($this->_mysql_tbl_name, $dto->toMySQL()); $dto->setPersistido(true); }