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(); }
public static void Inserir(AvalAcademica avalAcademica) { contexto.AvalAcademica.Add(avalAcademica); Questao.AtualizarDtUltimoUso(avalAcademica.Avaliacao.Questao); contexto.SaveChanges(); }
public static bool AlternarFlagArquivo(int codQuestao) { Questao questao = ListarPorCodigo(codQuestao); questao.FlagArquivo = !questao.FlagArquivo; contexto.SaveChanges(); return(questao.FlagArquivo); }
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); }
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(); } }
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); } }
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); }
public static bool PodeAtualizar(Questao questao) => contexto.AvalTemaQuestao.FirstOrDefault(atq => atq.CodQuestao == questao.CodQuestao) == null;
public static void Inserir(Questao questao) { questao.DtCadastro = DateTime.Now; contexto.Questao.Add(questao); contexto.SaveChanges(); }