public static void InserirResposta(AviQuestao questao, PessoaFisica pessoa, int alternativa, string texto)
        {
            AviQuestaoPessoaResposta resposta = contexto.AviQuestaoPessoaResposta
                                                .Where(pr => pr.Ano == questao.Ano &&
                                                       pr.Semestre == questao.Semestre &&
                                                       pr.CodTipoAvaliacao == questao.CodTipoAvaliacao &&
                                                       pr.NumIdentificador == questao.NumIdentificador &&
                                                       pr.CodOrdem == questao.CodOrdem)
                                                .OrderByDescending(pr => pr.CodRespostaOrdem)
                                                .FirstOrDefault();

            int novaOrdemResposta = resposta != null ? resposta.CodRespostaOrdem + 1 : 1;

            AviQuestaoPessoaResposta novaResposta = new AviQuestaoPessoaResposta
            {
                AviQuestao   = questao,
                PessoaFisica = pessoa
            };

            novaResposta.CodRespostaOrdem = novaOrdemResposta;
            novaResposta.RespAlternativa  = alternativa;
            novaResposta.RespDiscursiva   = texto;
            novaResposta.RespData         = DateTime.Now;

            contexto.AviQuestaoPessoaResposta.Add(novaResposta);
            contexto.SaveChanges();
        }
Ejemplo n.º 2
0
        public void OrdenarQuestoes(string[] questoes)
        {
            List <AviQuestao> aviQuestoes     = this.Questoes;
            List <AviQuestao> aviQuestoesNova = new List <Models.AviQuestao>();

            if (questoes.Length > 0)
            {
                for (int i = 0; i < questoes.Length; i++)
                {
                    string[] valores = questoes[i].Split('.');

                    int modulo    = int.Parse(valores[0]);
                    int categoria = int.Parse(valores[1]);
                    int indicador = int.Parse(valores[2]);
                    int ordem     = int.Parse(valores[3]);

                    AviQuestao questaoAntiga = aviQuestoes
                                               .FirstOrDefault(q => q.CodAviModulo == modulo &&
                                                               q.CodAviCategoria == categoria &&
                                                               q.CodAviIndicador == indicador &&
                                                               q.CodOrdem == ordem);

                    if (questaoAntiga != null)
                    {
                        AviQuestao questaoNova = questaoAntiga;
                        List <AviQuestaoAlternativa> alternativas = questaoNova.AviQuestaoAlternativa.ToList();
                        Models.AviQuestao.Remover(questaoAntiga);
                        questaoNova.CodOrdem = i + 1;
                        if (alternativas.Count > 0)
                        {
                            foreach (var alternativa in alternativas)
                            {
                                alternativa.CodOrdem = questaoNova.CodOrdem;
                                questaoNova.AviQuestaoAlternativa.Add(alternativa);
                            }
                        }
                        aviQuestoesNova.Add(questaoNova);
                    }
                }

                if (aviQuestoesNova.Count > 0)
                {
                    contexto.AviQuestao.AddRange(aviQuestoesNova);
                    contexto.SaveChanges();
                }
            }
        }
Ejemplo n.º 3
0
        public static void Remover(AviQuestao questao)
        {
            AviQuestao questaoTemp = contexto.AviQuestao
                                     .FirstOrDefault(q => q.Ano == questao.Ano &&
                                                     q.Semestre == questao.Semestre &&
                                                     q.CodTipoAvaliacao == questao.CodTipoAvaliacao &&
                                                     q.NumIdentificador == questao.NumIdentificador &&
                                                     q.CodAviModulo == questao.CodAviModulo &&
                                                     q.CodAviCategoria == questao.CodAviCategoria &&
                                                     q.CodAviIndicador == questao.CodAviIndicador &&
                                                     q.CodOrdem == questao.CodOrdem);

            if (questaoTemp != null)
            {
                contexto.AviQuestao.Remove(questaoTemp);
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 4
0
        public static void Atualizar(AviQuestao questao)
        {
            AviQuestao temp = contexto.AviQuestao
                              .FirstOrDefault(q => q.Ano == questao.Ano &&
                                              q.Semestre == questao.Semestre &&
                                              q.CodTipoAvaliacao == questao.CodTipoAvaliacao &&
                                              q.NumIdentificador == questao.NumIdentificador &&
                                              q.CodAviModulo == questao.CodAviModulo &&
                                              q.CodAviCategoria == questao.CodAviCategoria &&
                                              q.CodAviIndicador == questao.CodAviIndicador &&
                                              q.CodOrdem == questao.CodOrdem);

            temp.Enunciado             = questao.Enunciado;
            temp.Observacao            = questao.Observacao;
            temp.AviQuestaoAlternativa = questao.AviQuestaoAlternativa;

            contexto.SaveChanges();
        }
Ejemplo n.º 5
0
 public static void Inserir(AviQuestao questao)
 {
     contexto.AviQuestao.Add(questao);
     contexto.SaveChanges();
 }