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(); }
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(); } } }
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(); } }
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(); }
public static void Inserir(AviQuestao questao) { contexto.AviQuestao.Add(questao); contexto.SaveChanges(); }