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); }
public static int ObterNovaOrdem(AvalAvi avi) { int questaoIndice = avi.AviQuestao.Count > 0 ? avi.AviQuestao.Max(q => q.CodOrdem) : 0; return(questaoIndice + 1); }
public static void Inserir(AvalAvi avi) { contexto.AvalAvi.Add(avi); contexto.SaveChanges(); }