Beispiel #1
0
    public void Carregar(Pergunta umaPergunta)
    {
        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 = "Pergunta_Carregar";

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

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

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

            //se há linhas
            if (rsPergunta.HasRows)
            {
                while (rsPergunta.Read())
                {
                    umaPergunta.SetDescricao(rsPergunta.GetString("descricao"));
                    umaPergunta.SetCorreta(rsPergunta.GetString("correta"));
                    umaPergunta.SetErrada1(rsPergunta.GetString("errada1"));
                    umaPergunta.SetErrada2(rsPergunta.GetString("errada2"));
                    umaPergunta.SetErrada3(rsPergunta.GetString("errada3"));
                    umaPergunta.SetDificuldade(rsPergunta.GetInt32("dificuldade"));
                    //umaPergunta.SetSimulado(rsPergunta.GetBoolean("simulado"));
                    umaPergunta.SetFuncId(rsPergunta.GetInt32("funcionario_id"));
                    umaPergunta.SetTemaId(rsPergunta.GetInt32("tema_id"));
                }
            }
            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();
        }
    }
Beispiel #2
0
    public void Excluir(Pergunta pergunta)
    {
        MySqlConnection  db = Connection.getConnection();
        MySqlTransaction mySQLTransaction;

        mySQLTransaction = db.BeginTransaction();

        try
        {
            MySqlCommand mySQLcmd = db.CreateCommand();

            mySQLcmd.CommandType = CommandType.StoredProcedure;
            mySQLcmd.CommandText = "Pergunta_Excluir";

            //preenchendo os parametros da procedure
            mySQLcmd.Parameters.AddWithValue("LOC_ID", pergunta.GetId());

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

            //execução sem retorno
            mySQLcmd.ExecuteNonQuery();

            //commit da transação
            mySQLTransaction.Commit();
        }
        catch (MySqlException ex)
        {
            try
            {
                //rollback caso haja erro no MySQL
                mySQLTransaction.Rollback();
            }
            catch (MySqlException ex1)
            {
                throw new ExcecaoSAG("Erro na exclusão da pergunta. Código " + ex1.ToString());
            }
        }
        catch (ExcecaoSAG ex)
        {
            try
            {
                //rollback caso haja erro na aplicação
                mySQLTransaction.Rollback();
            }
            catch (MySqlException ex1)
            {
                throw new ExcecaoSAG("Erro na exclusão da pergunta. Código " + ex1.ToString());
            }
            throw ex;
        }
        finally
        {
            db.Close();
        }
    }
Beispiel #3
0
    public void Alterar(Pergunta pergunta)
    {
        //conexão
        MySqlConnection db = Connection.getConnection();

        //transação
        MySqlTransaction mySQLTransaction;

        mySQLTransaction = db.BeginTransaction();

        try
        {
            //comando na conexão para execução da procedure
            MySqlCommand mySQLcmd = db.CreateCommand();

            mySQLcmd.CommandType = CommandType.StoredProcedure;
            mySQLcmd.CommandText = "Pergunta_Alterar";

            //preenchendo os parametros da procedure
            mySQLcmd.Parameters.AddWithValue("LOC_ID", pergunta.GetId());
            mySQLcmd.Parameters.AddWithValue("LOC_DESCRICAO", pergunta.GetDescricao());
            mySQLcmd.Parameters.AddWithValue("LOC_CORRETA", pergunta.GetCorreta());
            mySQLcmd.Parameters.AddWithValue("LOC_ERRADA1", pergunta.GetErrada1());
            mySQLcmd.Parameters.AddWithValue("LOC_ERRADA2", pergunta.GetErrada2());
            mySQLcmd.Parameters.AddWithValue("LOC_ERRADA3", pergunta.GetErrada3());
            mySQLcmd.Parameters.AddWithValue("LOC_DIFICULDADE", pergunta.GetDificuldade());
            //mySQLcmd.Parameters.AddWithValue("LOC_SIMULADO", pergunta.GetSimulado());
            mySQLcmd.Parameters.AddWithValue("LOC_FUNCIONARIO_ID", pergunta.GetFuncId());
            mySQLcmd.Parameters.AddWithValue("LOC_TEMA_ID", pergunta.GetTemaId());

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

            //execução sem retorno
            mySQLcmd.ExecuteNonQuery();

            //commit da transação
            mySQLTransaction.Commit();
        }
        catch (MySqlException ex)
        {
            mySQLTransaction.Rollback();
            throw new ExcecaoSAG("Erro na alteração da pergunta. Código " + ex.ToString());
        }
        catch (ExcecaoSAG ex)
        {
            mySQLTransaction.Rollback();
            throw ex;
        }
        finally
        {
            db.Close();
        }
    }
 public void Carregar(Pergunta pergunta)
 {
     if (pergunta.GetId() <= 0)
     {
         throw new ExcecaoSAG("Obrigatório selecionar uma pergunta.");
     }
     try
     {
         perguntaDAO.Carregar(pergunta);
     }
     catch (ExcecaoSAG ex)
     {
         throw new ExcecaoSAG(ex.getMsg());
     }
 }