예제 #1
0
        public ActionResult CadastrarQuestao(string codigo, FormCollection form)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null && form.HasKeys())
            {
                var questao = new AviQuestao();

                /* Chave */
                questao.AvalAvi         = avi;
                questao.CodAviModulo    = int.Parse(form["ddlModulo"]);
                questao.CodAviCategoria = int.Parse(form["ddlCategoria"]);
                questao.CodAviIndicador = int.Parse(form["ddlIndicador"]);
                questao.CodOrdem        = AviQuestao.ObterNovaOrdem(avi);

                questao.Enunciado  = form["txtEnunciado"].Trim();
                questao.Observacao = !String.IsNullOrWhiteSpace(form["txtObservacao"]) ? form["txtObservacao"].RemoveSpaces() : null;

                if (int.Parse(form["ddlTipo"]) == TipoQuestao.OBJETIVA)
                {
                    int qteAlternativas = int.Parse(form["txtQtdAlternativas"]);

                    for (int i = 1; i <= qteAlternativas; i++)
                    {
                        string enunciado = form["txtAlternativaEnunciado" + i];
                        questao.AviQuestaoAlternativa.Add(new AviQuestaoAlternativa
                        {
                            AviQuestao                = questao,
                            CodAlternativa            = i,
                            Enunciado                 = enunciado,
                            FlagAlternativaDiscursiva = false
                        });
                    }

                    if (form["chkAlternativaDiscursiva"] == "on")
                    {
                        int    codAlternativa = qteAlternativas + 1;
                        string enunciado      = form["txtAlternativaDiscursiva"];
                        questao.AviQuestaoAlternativa.Add(new AviQuestaoAlternativa
                        {
                            AviQuestao                = questao,
                            CodAlternativa            = codAlternativa,
                            Enunciado                 = enunciado,
                            FlagAlternativaDiscursiva = true
                        });
                    }
                }
                else if (int.Parse(form["ddlTipo"]) == TipoQuestao.DISCURSIVA)
                {
                    questao.FlagDiscursiva = true;
                }
                AviQuestao.Inserir(questao);
                return(Json(questao.CodOrdem));
            }
            return(Json(false));
        }
예제 #2
0
 public void EnviarAlternativaDiscursiva(string codigo, int ordem, int alternativa, string resposta)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null && avi.FlagAndamento)
         {
             AviQuestao questao = avi.ObterQuestao(ordem);
             AviQuestaoPessoaResposta.InserirResposta(questao, PessoaFisica.ListarPorMatricula(Sessao.UsuarioMatricula), alternativa, resposta);
         }
     }
 }
예제 #3
0
        public ActionResult EditarQuestao(string codigo, FormCollection form)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null && form.HasKeys())
            {
                int modulo    = int.Parse(Request.QueryString["modulo"]);
                int categoria = int.Parse(Request.QueryString["categoria"]);
                int indicador = int.Parse(Request.QueryString["indicador"]);
                int ordem     = int.Parse(Request.QueryString["ordem"]);

                AviQuestao questao = avi.ObterQuestao(modulo, categoria, indicador, ordem);

                if (questao != null)
                {
                    questao.Enunciado  = form["txtEditarEnunciado"];
                    questao.Observacao = !String.IsNullOrWhiteSpace(form["txtEditarObservacao"]) ? form["txtEditarObservacao"] : null;

                    int indice = 1;
                    while (!String.IsNullOrWhiteSpace(form["txtEditarAlternativa" + indice]))
                    {
                        AviQuestaoAlternativa alternativa = questao.AviQuestaoAlternativa.FirstOrDefault(a => a.CodAlternativa == indice);
                        alternativa.Enunciado = form["txtEditarAlternativa" + indice];
                        indice++;
                    }

                    if (!String.IsNullOrWhiteSpace(form["txtEditarAlternativaDiscursiva"]))
                    {
                        AviQuestaoAlternativa alternativa = questao.AviQuestaoAlternativa.FirstOrDefault(a => a.FlagAlternativaDiscursiva);
                        alternativa.Enunciado = form["txtEditarAlternativaDiscursiva"];
                    }

                    AviQuestao.Atualizar(questao);
                }
                return(Json(form));
            }
            return(Json(false));
        }
예제 #4
0
        public ActionResult RemoverQuestao(string codigo, int modulo, int categoria, int indicador, int ordem)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null)
            {
                var questao = new AviQuestao();

                /* Chave */
                questao.Ano              = avi.Ano;
                questao.Semestre         = avi.Semestre;
                questao.CodTipoAvaliacao = avi.CodTipoAvaliacao;
                questao.NumIdentificador = avi.NumIdentificador;
                questao.CodAviModulo     = modulo;
                questao.CodAviCategoria  = categoria;
                questao.CodAviIndicador  = indicador;
                questao.CodOrdem         = ordem;

                AviQuestao.Remover(questao);
                return(Json(questao.CodOrdem));
            }
            return(Json(false));
        }