示例#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();
        }
    }
    public void CriarPerguntaNoBanco()
    {
        Pergunta umaPergunta = new Pergunta();

        umaPergunta.SetDescricao(descricao.text);
        umaPergunta.SetCorreta(correta.text);
        umaPergunta.SetErrada1(errada1.text);
        umaPergunta.SetErrada2(errada2.text);
        umaPergunta.SetErrada3(errada3.text);
        umaPergunta.SetDificuldade(Int32.Parse(string.IsNullOrEmpty(dificuldade.text) ? "0" : dificuldade.text));
        umaPergunta.SetTemaId(EncontrarTemaNaDropDownTrazendoId(tema.options[tema.value].text)); //banco com materia no id = 2

        umaPergunta.SetFuncId(PlayerPrefs.GetInt("IdUltimoFuncionarioLogado"));

        cadastroPergunta.Incluir(umaPergunta);

        StartCoroutine(AtualizaGrid());
        VoltaManterPergunta();
    }
示例#3
0
    public List <Pergunta> PegarTodosPorTema(int tema_id)
    {
        List <Pergunta> perguntas = new List <Pergunta>();
        Pergunta        umaPergunta;
        DAOFactory      daoFactory = new DAOFactory();

        //Conexão
        MySqlConnection db = Connection.getConnection();

        try
        {
            MySqlCommand mySQLcmd = db.CreateCommand();

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

            mySQLcmd.Parameters.AddWithValue("LOC_TEMA_ID", tema_id);

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

            //se há linhas
            if (rsPergunta.HasRows)
            {
                //enquanto lê cada linha
                while (rsPergunta.Read())
                {
                    //criando um aluno para cada linha
                    umaPergunta = new Pergunta();
                    umaPergunta.SetId(rsPergunta.GetInt32("id"));
                    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"));

                    perguntas.Add(umaPergunta);
                }
            }
            else
            {
                //sem resultados
            }
        }
        catch (MySqlException ex)
        {
            throw new ExcecaoSAG("Erro ao listar as perguntas de um tema. Código " + ex.ToString());
        }
        catch (ExcecaoSAG ex)
        {
            throw ex;
        }
        finally
        {
            db.Close();
        }
        //retorna a lista de alunos
        return(perguntas);
    }