Beispiel #1
0
    protected void btnGravarQuestao_Click(object sender, EventArgs e)
    {
        bool podeGravar     = true;
        int  codigoProblema = 0;

        if (txtQuestao.Value.Equals(""))
        {
            formTitulo.Attributes["class"] = "form-group has-error";
            helpBlockQuestao.InnerText     = "Questão é preenchimento obrigatório";
            podeGravar = false;
        }
        if (txtResposta.Value.Equals(""))
        {
            formDescricao.Attributes["class"] = "form-group has-error";
            helpBlockResposta.InnerText       = "Resposta é preenchimento obrigatório";
            podeGravar = false;
        }
        else
        {
            try
            {
                codigoProblema = int.Parse(txtResposta.Value);
            }
            catch
            {
                formDescricao.Attributes["class"] = "form-group has-error";
                helpBlockResposta.InnerText       = "Resposta deve ser númerica.";
                podeGravar = false;
            }
        }

        if (podeGravar)
        {
            Questao questao = new Questao();
            questao.questao    = txtQuestao.Value;
            questao.resposta   = codigoProblema;
            questao.IdProblema = int.Parse(selProblema.SelectedValue);
            if (questao.Inserir())
            {
                alerta.Attributes["class"] = "alert alert-success bottom20"; alerta.InnerText = "Solução Cadastrada com Sucesso."; txtQuestao.Value = ""; txtResposta.Value = ""; carregarQuestoes(questao.IdProblema);
            }
            else
            {
                alerta.Attributes["class"] = "alert alert-danger bottom20"; alerta.InnerText = questao.message;
            }
        }
    }
Beispiel #2
0
        public ActionResult Confirmar(FormCollection formCollection)
        {
            if (!formCollection.HasKeys())
            {
                return(RedirectToAction("Index"));
            }

            var questao = new Questao();

            questao.Professor    = Professor.ListarPorMatricula(Sessao.UsuarioMatricula);
            questao.CodProfessor = questao.Professor.CodProfessor;

            // Gerais
            questao.CodDificuldade = int.Parse(formCollection["ddlDificuldade"]);
            questao.Dificuldade    = Dificuldade.ListarPorCodigo(questao.CodDificuldade);
            questao.CodTipoQuestao = int.Parse(formCollection["ddlTipo"]);
            questao.TipoQuestao    = TipoQuestao.ListarPorCodigo(questao.CodTipoQuestao);

            int codDisciplina = int.Parse(formCollection["ddlDisciplina"]);

            string[] codTemas = formCollection["ddlTema"].Split(',');
            foreach (var strCodTema in codTemas)
            {
                int codTema = int.Parse(strCodTema);
                questao.QuestaoTema.Add(new QuestaoTema
                {
                    CodDisciplina = codDisciplina,
                    CodTema       = codTema,
                    Tema          = Tema.ListarPorCodigo(codDisciplina, codTema)
                });
            }

            // Detalhes
            questao.Enunciado = formCollection["txtEnunciado"].Trim();
            questao.Objetivo  = !String.IsNullOrWhiteSpace(formCollection["txtObjetivo"]) ? formCollection["txtObjetivo"].RemoveSpaces() : null;

            // Discursiva
            if (questao.CodTipoQuestao == TipoQuestao.DISCURSIVA)
            {
                questao.ChaveDeResposta = formCollection["txtChaveDeResposta"].Trim();
                questao.Comentario      = !String.IsNullOrWhiteSpace(formCollection["txtComentario"]) ? formCollection["txtComentario"].RemoveSpaces() : null;
            }

            // Objetiva
            if (questao.CodTipoQuestao == TipoQuestao.OBJETIVA)
            {
                int qteAlternativas = int.Parse(formCollection["txtQtdAlternativas"]);
                for (int i = 0; i < qteAlternativas; i++)
                {
                    questao.Alternativa.Add(new Alternativa
                    {
                        CodOrdem     = i,
                        Enunciado    = formCollection["txtAlternativaEnunciado" + (i + 1)].RemoveSpaces(),
                        Comentario   = !String.IsNullOrWhiteSpace(formCollection["txtAlternativaComentario" + (i + 1)]) ? formCollection["txtAlternativaComentario" + (i + 1)].RemoveSpaces() : null,
                        FlagGabarito = !String.IsNullOrWhiteSpace(formCollection["chkAlternativaCorreta" + (i + 1)]) ? true : false
                    });
                }
            }

            // Anexos
            if (!String.IsNullOrWhiteSpace(formCollection["chkAnexos"]) && !String.IsNullOrWhiteSpace(formCollection["txtQtdAnexos"]))
            {
                int iAnexoImage = 0;
                int qteAnexos   = int.Parse(formCollection["txtQtdAnexos"]);
                for (int i = 0; i < qteAnexos; i++)
                {
                    int tipoAnexo = int.Parse(formCollection["txtAnexoTipo" + (i + 1)]);
                    switch (tipoAnexo)
                    {
                    case TipoAnexo.IMAGEM:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces(),
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = new System.IO.BinaryReader(Request.Files[iAnexoImage].InputStream).ReadBytes(Request.Files[iAnexoImage].ContentLength)
                        });
                        iAnexoImage++;
                        break;

                    case TipoAnexo.CODIGO:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null,
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes()
                        });
                        break;

                    case TipoAnexo.TEXTO:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null,
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes()
                        });
                        break;

                    default:
                        break;
                    }
                }
            }

            Questao.Inserir(questao);
            Lembrete.AdicionarNotificacao($"Questão {questao.CodQuestao} cadastrada com sucesso.", Lembrete.POSITIVO);
            return(RedirectToAction("Detalhe", new { codigo = questao.CodQuestao }));
        }