/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _atualizar(WeLearn_DTO_IDTO $dto) { $UUID = CassandraUtil::import($dto->getId()); $cursoUUID = CassandraUtil::import($dto->getCurso()->getId()); $dadosAntigos = $this->_cf->get($UUID->bytes, array('status', 'situacao')); $statusAntigo = (int) $dadosAntigos['status']; $situacaoAntiga = (int) $dadosAntigos['situacao']; $this->_cf->insert($UUID->bytes, $dto->toCassandra()); if ($statusAntigo != $dto->getStatus()) { if ($dto->getStatus() == WeLearn_Cursos_Enquetes_StatusEnquete::ATIVA) { $this->_enquetePorStatusInativoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorStatusAtivoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } else { $this->_enquetePorStatusAtivoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorStatusInativoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } } if ($situacaoAntiga != $dto->getSituacao()) { if ($dto->getSituacao() == WeLearn_Cursos_Enquetes_SituacaoEnquete::ABERTA) { $this->_enquetePorSituacaoFechadoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorSituacaoAbertoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } else { $this->_enquetePorSituacaoAbertoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorSituacaoFechadoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } } }