public void Salvar(TipoQuestao tipoQuestao)
 {
     using (var contexto = new ContextoDeDados())
     {
         contexto.TipoQuestao.Add(tipoQuestao);
         contexto.SaveChanges();
     }
 }
示例#2
0
        public IActionResult Index(int id_Avaliacao, string nome_Avaliacao)
        {
            var complexidade = _context.Complexidade.ToList();

            if (complexidade.Count() == 0)
            {
                var comp = new Complexidade[]
                {
                    new Complexidade {
                        Nome_Complexidade = "Conhecimento"
                    },
                    new Complexidade {
                        Nome_Complexidade = "Compreensão"
                    },
                    new Complexidade {
                        Nome_Complexidade = "Aplicação"
                    },
                    new Complexidade {
                        Nome_Complexidade = "Análise"
                    },
                    new Complexidade {
                        Nome_Complexidade = "Síntese"
                    },
                    new Complexidade {
                        Nome_Complexidade = "Avaliação"
                    }
                };
                foreach (Complexidade comp1 in comp)
                {
                    _context.Complexidade.Add(comp1);
                }
                _context.SaveChanges();
            }
            var TipoQuestao = _context.TipoQuestao.ToList();

            if (TipoQuestao.Count() == 0)
            {
                var tipo = new TipoQuestao[]
                {
                    new TipoQuestao {
                        Nome_TipoQuestao = "Discursiva"
                    },
                    new TipoQuestao {
                        Nome_TipoQuestao = "Múltipla Escolha"
                    }
                };
                foreach (TipoQuestao tipo1 in tipo)
                {
                    _context.TipoQuestao.Add(tipo1);
                }
                _context.SaveChanges();
            }
            ViewBag.Id   = id_Avaliacao;
            ViewBag.Nome = nome_Avaliacao;
            return(View());
        }
示例#3
0
        // GET: principal/questao/cadastrar
        public ActionResult Cadastrar()
        {
            var model = new QuestaoCadastrarViewModel();

            model.Termo        = Parametro.Obter().TermoResponsabilidade;
            model.Disciplinas  = Professor.ObterDisciplinas(Sessao.UsuarioMatricula);
            model.Tipos        = TipoQuestao.ListarOrdenadamente();
            model.Dificuldades = Dificuldade.ListarOrdenadamente();
            model.TiposAnexo   = TipoAnexo.ListarOrdenadamente();
            return(View(model));
        }
示例#4
0
        public void TesteRegraTipoQuestaoMultiplaEscolha([Values(TipoQuestao.MultiplaEscolha, TipoQuestao.Discursiva)] TipoQuestao tipoQuestao,
                                                         [Values(false, true)] bool cenarioInvalido)
        {
            validador.AssineRegraTipoQuestaoMultiplaEscolha();

            var questaoMultiplaEscolha = new Questao <MultiplaEscolha> {
                Tipo = tipoQuestao
            };

            ValideTeste(cenarioInvalido, questaoMultiplaEscolha, validador, "O tipo de questão deve ser 'Múltipla Escolha'");
        }
        public void TesteRegraTipoQuestaoVerdadeiroOuFalso([Values(TipoQuestao.VerdadeiroOuFalso, TipoQuestao.Discursiva)] TipoQuestao tipoQuestao,
                                                           [Values(false, true)] bool cenarioInvalido)
        {
            validador.AssineRegraTipoQuestaoVerdadeiroOuFalso();

            var questaoVerdadeiroOuFalso = new Questao <VerdadeiroOuFalso> {
                Tipo = tipoQuestao
            };

            ValideTeste(cenarioInvalido, questaoVerdadeiroOuFalso, validador, "O tipo de questão deve ser 'Verdadeiro ou Falso'");
        }
示例#6
0
        public void TesteRegraTipoQuestaoAssociacaoDeColunas([Values(TipoQuestao.Associacao, TipoQuestao.Discursiva)] TipoQuestao tipoQuestao,
                                                             [Values(false, true)] bool cenarioInvalido)
        {
            validador.AssineRegraTipoQuestaAssociacaoDeColunas();

            var questaoAssociacaoDeColunas = new Questao <AssociacaoDeColunas> {
                Tipo = tipoQuestao
            };

            ValideTeste(cenarioInvalido, questaoAssociacaoDeColunas, validador, "O tipo de questão deve ser 'Associação de colunas'");
        }
示例#7
0
        /// <summary>
        /// Realiza o update do objeto por stored Procedure
        /// </summary>
        /// <param name="pObject">Objeto com os valores a ser atualizado</param>
        /// <returns>Objeto Atualizado</returns>
        public TipoQuestao Update(TipoQuestao pObject)
        {
            TipoQuestaoDAO.BeginTransaction();
            try
            {
                TipoQuestaoDAO.UpdateByStoredProcedure(pObject);

                TipoQuestaoDAO.CommitTransaction();
            }
            catch (Exception ex)
            {
                TipoQuestaoDAO.RollbackTransaction();
                throw ex;
            }
            return(pObject);
        }
示例#8
0
        /// <summary>
        /// Realiza o insert do objeto por stored Procedure
        /// </summary>
        /// <param name="pObject">Objeto com os valores a ser inserido</param>
        /// <returns>Objeto Inserido</returns>
        public TipoQuestao Insert(TipoQuestao pObject)
        {
            TipoQuestaoDAO.BeginTransaction();
            try
            {
                TipoQuestao TipoQuestaoAux = TipoQuestaoDAO.InsertByStoredProcedure(pObject);
                pObject.idTipoQuestao = TipoQuestaoAux.idTipoQuestao;

                TipoQuestaoDAO.CommitTransaction();
            }
            catch (Exception ex)
            {
                TipoQuestaoDAO.RollbackTransaction();
                throw ex;
            }
            return(pObject);
        }
示例#9
0
        public ActionResult Questionario(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
                if (avi != null && !avi.FlagAndamento)
                {
                    ViewModels.InstitucionalGerarQuestaoViewModel model = new ViewModels.InstitucionalGerarQuestaoViewModel();
                    model.Modulos     = AviModulo.ListarOrdenadamente();
                    model.Categorias  = AviCategoria.ListarOrdenadamente();
                    model.Indicadores = AviIndicador.ListarOrdenadamente();
                    model.Tipos       = TipoQuestao.ListarOrdenadamente();
                    model.Avi         = avi;

                    return(View(model));
                }
            }
            return(RedirectToAction("Index"));
        }
示例#10
0
 public ActionResult Configurar(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo) && !Sistema.AvaliacaoUsuario.ContainsKey(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null && !cert.Avaliacao.FlagRealizada)
         {
             Professor prof = Professor.ListarPorMatricula(Sessao.UsuarioMatricula);
             if (prof != null && prof.CodProfessor == cert.Professor.CodProfessor)
             {
                 var model = new CertificacaoConfigurarViewModel();
                 model.Avaliacao    = cert.Avaliacao;
                 model.Dificuldades = Dificuldade.ListarOrdenadamente();
                 model.TiposQuestao = TipoQuestao.ListarOrdenadamente();
                 return(View(model));
             }
         }
     }
     return(RedirectToAction("Index"));
 }
示例#11
0
 //QuestaoComposta é uma questão que possui subitens
 public QuestaoComposite()
 {
     TipoQuestao = TipoQuestao.Questão_Composta;
 }
 //constroi questao discursiva
 public QuestaoObjetiva()
 {
     TipoQuestao = TipoQuestao.Objetiva;
 }
示例#13
0
        public static List <Questao> GerarQuestao(int qte)
        {
            List <Questao>     lstQuestao     = new List <Questao>();
            var                leroLero       = new LeroLero();
            List <Professor>   lstProfessor   = Professor.ListarOrdenadamente();
            List <TipoQuestao> lstTipoQuestao = TipoQuestao.ListarOrdenadamente();
            List <Dificuldade> lstDificuldade = Dificuldade.ListarOrdenadamente();

            for (int i = 0; i < qte; i++)
            {
                var questao = new Questao();
                questao.DtCadastro  = DateTime.Now;
                questao.Professor   = lstProfessor.ElementAt(Sistema.Random.Next(lstProfessor.Count));
                questao.Dificuldade = lstDificuldade.ElementAt(Sistema.Random.Next(lstDificuldade.Count));
                questao.TipoQuestao = lstTipoQuestao.ElementAt(Sistema.Random.Next(lstTipoQuestao.Count));
                questao.Enunciado   = leroLero.Paragrafo();
                if (Sistema.Random.Next(2) == 1)
                {
                    questao.Objetivo = leroLero.Paragrafo();
                }
                List <Disciplina> lstDisciplina = Professor.ObterDisciplinas(questao.Professor.CodProfessor);
                if (lstDisciplina.Count == 0)
                {
                    qte++;
                    continue;
                }
                Disciplina  disciplina = lstDisciplina.ElementAt(Sistema.Random.Next(lstDisciplina.Count));
                List <Tema> lstTema    = Tema.ListarPorDisciplina(disciplina.CodDisciplina);
                if (lstTema.Count == 0)
                {
                    qte++;
                    continue;
                }
                int qteTema = lstTema.Count > 4 ? Sistema.Random.Next(1, 5) : Sistema.Random.Next(1, lstTema.Count);
                for (int j = 0; j < qteTema; j++)
                {
                    var index = Sistema.Random.Next(lstTema.Count);
                    questao.QuestaoTema.Add(
                        new QuestaoTema
                    {
                        Tema = lstTema.ElementAt(index)
                    }
                        );
                    lstTema.Remove(lstTema.ElementAt(index));
                }
                if (questao.TipoQuestao.CodTipoQuestao == 1)
                {
                    int qteAlternativa = Sistema.Random.Next(3, 6);
                    for (int j = 0; j < qteAlternativa; j++)
                    {
                        questao.Alternativa.Add(
                            new Alternativa
                        {
                            CodOrdem   = j,
                            Enunciado  = leroLero.Paragrafo(),
                            Comentario = Sistema.Random.Next(2) == 1 ? leroLero.Paragrafo() : null
                        }
                            );
                    }
                    questao.Alternativa.ElementAt(Sistema.Random.Next(questao.Alternativa.Count)).FlagGabarito = true;
                }
                else
                {
                    questao.ChaveDeResposta = leroLero.Paragrafo();
                    if (Sistema.Random.Next(2) == 1)
                    {
                        questao.Comentario = leroLero.Paragrafo();
                    }
                }
                lstQuestao.Add(questao);
            }
            return(lstQuestao);
        }
 public void Excluir(TipoQuestao tipoQuestao)
 {
     throw new NotImplementedException();
 }
示例#15
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 }));
        }
 //constroi questao discursiva
 public QuestaoDiscursiva()
 {
     TipoQuestao = TipoQuestao.Discursiva;
 }