/** * @param WeLearn_Usuarios_Aluno $aluno * @param WeLearn_Cursos_Curso $curso * @return WeLearn_DTO_IDTO */ public function removerPorCurso(WeLearn_Usuarios_Aluno $aluno, WeLearn_Cursos_Curso $curso) { $participacao = $this->recuperarPorCurso($aluno, $curso); $CFKey = WeLearn_Cursos_ParticipacaoCurso::gerarCFKey($aluno, $curso); $this->_cf->remove($CFKey); return $participacao; }
/** * @param WeLearn_Cursos_ParticipacaoCurso $participacaoCurso * @return int */ public function recuperarQtdTotal(WeLearn_Cursos_ParticipacaoCurso $participacaoCurso) { return $this->_cf->get_count($participacaoCurso->getCFKey()); }
private function _registrarAprovacaoEmAvaliacao(WeLearn_Cursos_ParticipacaoCurso &$participacaoCurso, WeLearn_Cursos_Avaliacoes_Avaliacao $avaliacao) { $participacaoCurso->setAvaliacaoAtual(null); $participacaoCurso->setTipoConteudoAtual(WeLearn_Cursos_Conteudo_TipoConteudo::PAGINA); $proximoModulo = $this->_moduloDao->recuperarProximo($participacaoCurso->getCurso(), $avaliacao->getModulo()->getNroOrdem()); if ($proximoModulo) { $this->_participacaoCursoDao->getControleModuloDAO()->acessar($participacaoCurso, $proximoModulo); $proximaAula = $this->_aulaDao->recuperarProxima($proximoModulo); if ($proximaAula) { $this->_participacaoCursoDao->getControleAulaDAO()->acessar($participacaoCurso, $proximaAula); $proximaPagina = $this->_paginaDao->recuperarProxima($proximaAula); if ($proximaPagina) { $this->_participacaoCursoDao->getControlePaginaDAO()->acessar($participacaoCurso, $proximaPagina); } } } else { $participacaoCurso->setModuloAtual(null); $participacaoCurso->setAulaAtual(null); $participacaoCurso->setPaginaAtual(null); $participacaoCurso->setAvaliacaoAtual(null); $participacaoCurso->setTipoConteudoAtual(WeLearn_Cursos_Conteudo_TipoConteudo::NENHUM); if ($participacaoCurso->getSituacao() != WeLearn_Cursos_SituacaoParticipacaoCurso::CURSO_CONCLUIDO) { $this->_participacaoCursoDao->finalizarCurso($participacaoCurso); } } }
/** * @param WeLearn_Cursos_ParticipacaoCurso $participacaoCurso */ public function registrarFimDeCurso(WeLearn_Cursos_ParticipacaoCurso &$participacaoCurso) { $certificado = $this->recuperarAtivoPorCurso($participacaoCurso->getCurso()); $participacaoCurso->setCertificado($certificado); $this->_certificadosPorAlunoCF->insert($participacaoCurso->getAluno()->getId(), array(UUID::import($certificado->getId())->bytes => '')); }
private function _recuperarRestantes(array $ids, WeLearn_Cursos_ParticipacaoCurso $participacaoCurso) { $columns = array(); foreach ($ids as $nroOrdem => $id) { try { $column = $this->_cf->get($id); $columns[] = $column; } catch (cassandra_NotFoundException $e) { $this->_controleAvaliacaoPorParticipacaoCF->remove($participacaoCurso->getId(), array($nroOrdem)); } } return $columns; }
private function _retornarJSONCursoFinalizado(WeLearn_Cursos_ParticipacaoCurso &$participacaoCurso) { $participacaoCurso->setModuloAtual(null); $participacaoCurso->setAulaAtual(null); $participacaoCurso->setPaginaAtual(null); $participacaoCurso->setAvaliacaoAtual(null); $participacaoCurso->setTipoConteudoAtual(WeLearn_Cursos_Conteudo_TipoConteudo::NENHUM); if ($participacaoCurso->getSituacao() != WeLearn_Cursos_SituacaoParticipacaoCurso::CURSO_CONCLUIDO) { $this->_participacaoCursoDao->finalizarCurso($participacaoCurso); } $response = Zend_Json::encode(array('cursoFinalizado' => true, 'htmlCertificado' => $this->template->loadPartial('exibicao_aluno', array('certificado' => $participacaoCurso->getCertificado()), 'curso/certificado'))); return create_json_feedback(true, '', $response); }
/** * @param WeLearn_Usuarios_Aluno $aluno * @param WeLearn_Cursos_Curso $curso * @return string */ public static function gerarCFKey(WeLearn_Cursos_ParticipacaoCurso $participacaoCurso, WeLearn_Cursos_Avaliacoes_Avaliacao $avaliacao) { return $participacaoCurso->getId() . '::' . $avaliacao->getId(); }