public static List <AviQuestaoPessoaResposta> ObterRespostasPessoa(AvalAvi avi, PessoaFisica pessoa)
        {
            List <AviQuestaoPessoaResposta> respostas = contexto.AviQuestaoPessoaResposta
                                                        .Where(pr => pr.Ano == avi.Ano &&
                                                               pr.Semestre == avi.Semestre &&
                                                               pr.CodTipoAvaliacao == avi.CodTipoAvaliacao &&
                                                               pr.NumIdentificador == avi.NumIdentificador &&
                                                               pr.CodPessoaFisica == pessoa.CodPessoa)
                                                        .ToList();

            List <AviQuestaoPessoaResposta> retorno = new List <AviQuestaoPessoaResposta>();

            if (respostas.Count > 0)
            {
                int quantidadeQuestoes = respostas.Max(pr => pr.CodOrdem);
                for (int i = 1; i <= quantidadeQuestoes; i++)
                {
                    AviQuestaoPessoaResposta questao = respostas.Where(pr => pr.CodOrdem == i).OrderByDescending(pr => pr.CodRespostaOrdem).FirstOrDefault();
                    if (questao != null)
                    {
                        retorno.Add(questao);
                    }
                }
            }
            return(retorno);
        }
Exemplo n.º 2
0
        public static int ObterNovaOrdem(AvalAvi avi)
        {
            int questaoIndice = avi.AviQuestao.Count > 0 ? avi.AviQuestao.Max(q => q.CodOrdem) : 0;

            return(questaoIndice + 1);
        }
Exemplo n.º 3
0
 public static void Inserir(AvalAvi avi)
 {
     contexto.AvalAvi.Add(avi);
     contexto.SaveChanges();
 }