示例#1
0
    public List <Tema> ListarTodosPorMateria(int materia_id)
    {
        List <Tema> lista = new List <Tema>();

        try
        {
            lista = temaDAO.PegarTemasPorMateria(materia_id);
        }
        catch (ExcecaoSAG ex)
        {
            throw new ExcecaoSAG(ex.getMsg());
        }
        return(lista);
    }
    public void Carregar(Avaliacao umaAvaliacao)
    {
        List <Avaliacao> avaliacoes = new List <Avaliacao>();
        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();

        MySqlConnection  db = Connection.getConnection();
        MySqlTransaction mySQLTransaction;

        mySQLTransaction = db.BeginTransaction();

        try
        {
            MySqlCommand mySQLcmd = db.CreateCommand();

            //setando a procedure do banco
            mySQLcmd.CommandType = CommandType.StoredProcedure;
            mySQLcmd.CommandText = "Avaliacao_Carregar";

            mySQLcmd.Parameters.AddWithValue("LOC_ID", umaAvaliacao.GetId());

            //ligando a transação
            mySQLcmd.Transaction = mySQLTransaction;

            //execução sem retorno
            MySqlDataReader rsAvaliacao = mySQLcmd.ExecuteReader();

            //se há linhas
            if (rsAvaliacao.HasRows)
            {
                if (rsAvaliacao.Read())
                {
                    umaAvaliacao.SetDescricao(rsAvaliacao.GetString("descricao"));
                    umaAvaliacao.SetDataInicio(rsAvaliacao.GetInt32("datainicio"));
                    umaAvaliacao.SetDataFim(rsAvaliacao.GetInt32("datafim"));
                    umaAvaliacao.SetSimulado(rsAvaliacao.GetBoolean("simulado"));

                    int materia_id     = rsAvaliacao.GetInt32("materia_id");
                    int funcionario_id = rsAvaliacao.GetInt32("funcionario_id");

                    db.Close();

                    umaMateria = new Materia();
                    umaMateria.SetId(materia_id);
                    matDAO.Carregar(umaMateria);
                    umaAvaliacao.SetMateria(umaMateria);

                    umFuncionario = new Funcionario();
                    umFuncionario.SetId(funcionario_id);
                    funcDAO.Carregar(umFuncionario);
                    umaAvaliacao.SetFuncionarioAutor(umFuncionario);

                    alunos = alunoDAO.PegarAlunosPorAvaliacao(umaAvaliacao.GetId());
                    umaAvaliacao.SetAlunos(alunos);

                    temas = temaDAO.PegarTemasPorMateria(umaMateria.GetId());
                    umaAvaliacao.SetTemas(temas);
                }
            }
            else
            {
                //aluno não carregado
                throw new ExcecaoSAG("Erro, Pergunta não encontrado.");
            }
        }
        catch (MySqlException ex)
        {
            throw new ExcecaoSAG("Erro ao carregar uma Pergunta. Código " + ex.ToString());
        }
        catch (ExcecaoSAG ex)
        {
            throw ex;
        }
        finally
        {
            db.Close();
        }
    }