Example #1
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();
        }
    }
    IEnumerator CarregaConsultaPergunta()
    {
        //carrega a pergunta
        Pergunta umaPergunta = new Pergunta();

        umaPergunta.SetId(selecionado);
        cadastroPergunta.Carregar(umaPergunta);

        yield return(umaPergunta);

        //carrega o tema relativa a pergunta
        Tema umTema = new Tema();

        umTema.SetId(umaPergunta.GetTemaId());
        cadastroTema.Carregar(umTema);

        yield return(umTema);

        //carrega o funcionario autor da pergunta
        Funcionario umFuncionario = new Funcionario();

        umFuncionario.SetId(umaPergunta.GetFuncId());
        cadastroFuncionario.Carregar(umFuncionario);

        yield return(umFuncionario);

        //Populando os campos
        descricao.text   = umaPergunta.GetDescricao();
        correta.text     = umaPergunta.GetCorreta();
        errada1.text     = umaPergunta.GetErrada1();
        errada2.text     = umaPergunta.GetErrada2();
        errada3.text     = umaPergunta.GetErrada3();
        dificuldade.text = umaPergunta.GetDificuldade().ToString();

        StartCoroutine(AtualizaDropDown());
        tema.value = EncontrarTemaNaDropDownTrazendoValue(umTema.GetNome());
        AtualizarMateriaDeAcordoComOTema();

        autor.text = umFuncionario.GetNomeCompleto();

        descricao.interactable   = false;
        correta.interactable     = false;
        errada1.interactable     = false;
        errada2.interactable     = false;
        errada3.interactable     = false;
        dificuldade.interactable = false;
        tema.interactable        = false;
        autor.interactable       = false;

        voltar.gameObject.SetActive(true);
        main.MudarGameState(12, 0);
    }
 private bool Validar(Pergunta pergunta)
 {
     if (pergunta.GetDescricao() == null || pergunta.GetDescricao().Trim().Equals(""))
     {
         throw new ExcecaoSAG("Descrição deve ser preenchido");
     }
     if (pergunta.GetCorreta() == null || pergunta.GetCorreta().Trim().Equals(""))
     {
         throw new ExcecaoSAG("Resposta correta deve ser preenchido");
     }
     if (pergunta.GetErrada1() == null || pergunta.GetErrada1().Trim().Equals(""))
     {
         throw new ExcecaoSAG("Resposta errada 1 deve ser preenchido");
     }
     if (pergunta.GetErrada2() == null || pergunta.GetErrada2().Trim().Equals(""))
     {
         throw new ExcecaoSAG("Resposta errada 2 deve ser preenchido");
     }
     if (pergunta.GetErrada3() == null || pergunta.GetErrada3().Trim().Equals(""))
     {
         throw new ExcecaoSAG("Resposta errada 3 deve ser preenchido");
     }
     if (pergunta.GetDificuldade() <= 0 || pergunta.GetDificuldade() > 3)
     {
         throw new ExcecaoSAG("Dificuldade deve ser preenchida entre 1 e 3");
     }
     if (pergunta.GetFuncId() <= 0)
     {
         throw new ExcecaoSAG("Funcionário deve ser preenchido");
     }
     if (pergunta.GetTemaId() <= 0)
     {
         throw new ExcecaoSAG("Tema deve ser preenchido");
     }
     return(true);
 }
    //chama a pergunta das batalhas ativas
    public void ChamandoPerguntaDasBatalhasAtivas()
    {
        int      temaSorteado = Random.Range(0, temasAtivados.Count);
        Pergunta pergunta     = temasAtivados[temaSorteado].PegaPerguntaNaoFeita();

        perguntasRealizadas.Add(pergunta);

        painelDePerguntas.SetActive(true);
        //texto da pergunta
        painelDePerguntas.transform.GetChild(0).GetComponentInChildren <Text>().text = pergunta.GetDescricao();
        //referencia para sorteio das perguntas 1 - 4
        List <int> posicoes = new List <int>(); for (int i = 1; i < 5; i++)
        {
            posicoes.Add(i);
        }

        //randomizando resposta certa
        int sorteio = posicoes[Random.Range(0, posicoes.Count)];

        posicoes.Remove(sorteio);
        painelDePerguntas.transform.GetChild(sorteio).GetComponentInChildren <Text>().text = pergunta.GetCorreta();
        painelDePerguntas.transform.GetChild(sorteio).name = "right";

        //randomizando as respostas erradas
        sorteio = posicoes[Random.Range(0, posicoes.Count)];
        posicoes.Remove(sorteio);
        painelDePerguntas.transform.GetChild(sorteio).GetComponentInChildren <Text>().text = pergunta.GetErrada1();
        painelDePerguntas.transform.GetChild(sorteio).name = "wrong";
        sorteio = posicoes[Random.Range(0, posicoes.Count)];
        posicoes.Remove(sorteio);
        painelDePerguntas.transform.GetChild(sorteio).GetComponentInChildren <Text>().text = pergunta.GetErrada2();
        painelDePerguntas.transform.GetChild(sorteio).name = "wrong";
        sorteio = posicoes[Random.Range(0, posicoes.Count)];
        posicoes.Remove(sorteio);
        painelDePerguntas.transform.GetChild(sorteio).GetComponentInChildren <Text>().text = pergunta.GetErrada3();
        painelDePerguntas.transform.GetChild(sorteio).name = "wrong";

        perguntaAtiva = pergunta;

        respondendo = true;

        StartCoroutine(ContagemDoRelogio());
    }