public List <Tema> ListarTodosPorAvaliacao(int avaliacao_id) { List <Tema> lista = new List <Tema>(); try { lista = temaDAO.PegarTemasPorAvaliacao(avaliacao_id); } catch (ExcecaoSAG ex) { throw new ExcecaoSAG(ex.getMsg()); } return(lista); }
public List <Avaliacao> PegarSimuladosPorAluno(int alunoId) { List <Avaliacao> avaliacoes = new List <Avaliacao>(); Avaliacao umaAvaliacao; Materia umaMateria; Funcionario umFuncionario; List <Aluno> alunos = new List <Aluno>(); List <Tema> temas = new List <Tema>(); DAOFactory daoFactory = new DAOFactory(); MateriaDAO matDAO = daoFactory.getMateriaDAO(); FuncionarioDAO funcDAO = daoFactory.getFuncionarioDAO(); AlunoDAO alunoDAO = daoFactory.getAlunoDAO(); TemaDAO temaDAO = daoFactory.getTemaDAO(); //Conexão MySqlConnection db = Connection.getConnection(); try { MySqlCommand mySQLcmd = db.CreateCommand(); //setando a procedure do banco mySQLcmd.CommandType = CommandType.StoredProcedure; mySQLcmd.CommandText = "Avaliacao_PegarTodos_Simulado"; mySQLcmd.Parameters.AddWithValue("LOC_ID", alunoId); //execução sem retorno MySqlDataReader rsAvaliacao = mySQLcmd.ExecuteReader(); //se há linhas if (rsAvaliacao.HasRows) { //enquanto lê cada linha while (rsAvaliacao.Read()) { //criando um aluno para cada linha umaAvaliacao = new Avaliacao(); umaAvaliacao.SetId(rsAvaliacao.GetInt32("id")); umaAvaliacao.SetDescricao(rsAvaliacao.GetString("descricao")); umaAvaliacao.SetDataInicio(rsAvaliacao.GetInt32("datainicio")); umaAvaliacao.SetDataFim(rsAvaliacao.GetInt32("datafim")); umaAvaliacao.SetSimulado(rsAvaliacao.GetBoolean("simulado")); umaMateria = new Materia(); umaMateria.SetId(rsAvaliacao.GetInt32("materia_id")); umaAvaliacao.SetMateria(umaMateria); umFuncionario = new Funcionario(); umFuncionario.SetId(rsAvaliacao.GetInt32("funcionario_id")); umaAvaliacao.SetFuncionarioAutor(umFuncionario); avaliacoes.Add(umaAvaliacao); } db.Close(); for (int i = 0; i < avaliacoes.Count; i++) { matDAO.Carregar(avaliacoes[i].GetMateria()); funcDAO.Carregar(avaliacoes[i].GetFuncionarioAutor()); alunos = alunoDAO.PegarAlunosPorAvaliacao(avaliacoes[i].GetId()); avaliacoes[i].SetAlunos(alunos); temas = temaDAO.PegarTemasPorAvaliacao(avaliacoes[i].GetId()); avaliacoes[i].SetTemas(temas); } } else { //sem resultados } } catch (MySqlException ex) { throw new ExcecaoSAG("Erro ao listarBBBB as avaliacoes por aluno. Código " + ex.ToString()); } catch (ExcecaoSAG ex) { throw ex; } finally { db.Close(); } //retorna a lista de alunos return(avaliacoes); }