Beispiel #1
0
        public static void Atualizar(Questao questao)
        {
            Questao qTemp = contexto.Questao.FirstOrDefault(qst => qst.CodQuestao == questao.CodQuestao);

            qTemp.Enunciado = questao.Enunciado;
            qTemp.Objetivo  = questao.Objetivo;
            if (qTemp.CodTipoQuestao == 1)
            {
                for (int i = 0; i < qTemp.Alternativa.Count; i++)
                {
                    qTemp.Alternativa.ElementAt(i).Enunciado  = questao.Alternativa.ElementAt(i).Enunciado;
                    qTemp.Alternativa.ElementAt(i).Comentario = questao.Alternativa.ElementAt(i).Comentario;
                }
            }
            else
            {
                qTemp.Comentario      = questao.Comentario;
                qTemp.ChaveDeResposta = questao.ChaveDeResposta;
            }

            if (qTemp.QuestaoAnexo.Count > 0)
            {
                for (int i = 0; i < qTemp.QuestaoAnexo.Count; i++)
                {
                    if (questao.QuestaoAnexo.ElementAt(i).CodTipoAnexo == TipoAnexo.TEXTO)
                    {
                        qTemp.QuestaoAnexo.ElementAt(i).Anexo = questao.QuestaoAnexo.ElementAt(i).Anexo;
                    }
                    qTemp.QuestaoAnexo.ElementAt(i).Legenda = questao.QuestaoAnexo.ElementAt(i).Legenda;
                    qTemp.QuestaoAnexo.ElementAt(i).Fonte   = questao.QuestaoAnexo.ElementAt(i).Fonte;
                }
            }
            contexto.SaveChanges();
        }
Beispiel #2
0
        public static void Inserir(AvalAcademica avalAcademica)
        {
            contexto.AvalAcademica.Add(avalAcademica);

            Questao.AtualizarDtUltimoUso(avalAcademica.Avaliacao.Questao);

            contexto.SaveChanges();
        }
Beispiel #3
0
        public static bool AlternarFlagArquivo(int codQuestao)
        {
            Questao questao = ListarPorCodigo(codQuestao);

            questao.FlagArquivo = !questao.FlagArquivo;
            contexto.SaveChanges();
            return(questao.FlagArquivo);
        }
Beispiel #4
0
        public static List <Questao> ListarPorCodigos(int[] codQuestoes)
        {
            List <Questao> questoes = new List <Questao>();

            foreach (var codQuestao in codQuestoes)
            {
                questoes.Add(Questao.ListarPorCodigo(codQuestao));
            }

            return(questoes);
        }
Beispiel #5
0
        public static void SalvarResposta(Avaliacao avaliacao, Questao questao, PessoaFisica pessoa, string resposta, string comentario)
        {
            if (avaliacao != null && questao != null && pessoa != null && !String.IsNullOrWhiteSpace(resposta))
            {
                bool sobreposicao = true;

                AvalQuesPessoaResposta corrente = contexto.AvalQuesPessoaResposta
                                                  .FirstOrDefault(r =>
                                                                  r.Ano == avaliacao.Ano &&
                                                                  r.Semestre == avaliacao.Semestre &&
                                                                  r.CodTipoAvaliacao == avaliacao.CodTipoAvaliacao &&
                                                                  r.NumIdentificador == avaliacao.NumIdentificador &&
                                                                  r.CodQuestao == questao.CodQuestao &&
                                                                  r.CodPessoaFisica == pessoa.CodPessoa);

                if (corrente == null)
                {
                    sobreposicao = false;
                    corrente     = new AvalQuesPessoaResposta()
                    {
                        AvalTemaQuestao = avaliacao.AvaliacaoTema
                                          .Where(at => at.AvalTemaQuestao.FirstOrDefault(atq => atq.CodQuestao == questao.CodQuestao) != null)
                                          .Select(at => at.AvalTemaQuestao.FirstOrDefault(atq => atq.CodQuestao == questao.CodQuestao))
                                          .FirstOrDefault(),
                        PessoaFisica = pessoa
                    };
                }

                switch (questao.CodTipoQuestao)
                {
                case TipoQuestao.OBJETIVA:
                    corrente.RespAlternativa = int.Parse(resposta);
                    break;

                case TipoQuestao.DISCURSIVA:
                    corrente.RespDiscursiva = resposta;
                    break;

                default:
                    break;
                }

                corrente.RespComentario = !String.IsNullOrWhiteSpace(comentario) ? comentario : null;

                if (sobreposicao == false)
                {
                    contexto.AvalQuesPessoaResposta.Add(corrente);
                }

                contexto.SaveChanges();
            }
        }
Beispiel #6
0
        public bool AdicionarQuestao(int codQuestao)
        {
            var questao = Questao.ListarPorCodigo(codQuestao);

            if (questao.CodTipoQuestao == this.TipoQuestoes)
            {
                this.SimProvaQuestao.Add(new SimProvaQuestao()
                {
                    Questao = questao,
                });
                contexto.SaveChanges();
                return(true);
            }
            return(false);
        }
        public static bool PrazoValido(QuestaoTema questao)
        {
            Questao q = Questao.ListarPorCodigo(questao.CodQuestao);

            if (q.DtUltimoUso.HasValue)
            {
                DateTime prazo = questao.Questao.DtUltimoUso.Value.AddDays(ParamTempoInatividade);
                if (DateTime.Now >= prazo)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(true);
            }
        }
Beispiel #8
0
        public static List <Questao> ListarPorPalavraChave(string[] palavraChave)
        {
            List <Questao> questoes       = Questao.Listar();
            List <Questao> retorno        = new List <Questao>();
            List <string>  tags           = new List <string>();
            string         tagsReservadas = "ão das de dos das do da porque que como isso quais porquê quê por abaixo porém mas a e o as os para cujo quais";

            for (int i = 0; i < palavraChave.Length; i++)
            {
                if (!string.IsNullOrWhiteSpace(palavraChave[i]) && !tagsReservadas.Contains(palavraChave[i]))
                {
                    tags.Add(palavraChave[i].Trim());
                }
            }
            if (tags.Count != 0)
            {
                int contador = 0;
                foreach (var questao in questoes)
                {
                    string enunciado = questao.Enunciado.ToLower();
                    foreach (var palavra in tags)
                    {
                        if (enunciado.Contains(palavra))
                        {
                            contador++;
                        }
                    }
                    if (contador == tags.Count)
                    {
                        retorno.Insert(0, questao);
                    }
                    else if (contador != 0)
                    {
                        retorno.Add(questao);
                    }
                    contador = 0;
                }
            }
            return(retorno);
        }
Beispiel #9
0
 public static bool PodeAtualizar(Questao questao) => contexto.AvalTemaQuestao.FirstOrDefault(atq => atq.CodQuestao == questao.CodQuestao) == null;
Beispiel #10
0
 public static void Inserir(Questao questao)
 {
     questao.DtCadastro = DateTime.Now;
     contexto.Questao.Add(questao);
     contexto.SaveChanges();
 }