public IQueryable <RespostaParticipacaoProfessor> ObterPorItemQuestionarioParticipacao( ItemQuestionarioParticipacao itemQuestionarioParticipacao) { return (bmRespostaParticipacaoProfessor.ObterTodosIQueryable() .Where(x => x.ItemQuestionarioParticipacao.ID == itemQuestionarioParticipacao.ID)); }
public ItemQuestionarioParticipacaoOpcoes ObterRespostaSelecionada(ItemQuestionarioParticipacao item) { return(_repositorio.session.Query <ItemQuestionarioParticipacaoOpcoes>() .FirstOrDefault(x => x.ItemQuestionarioParticipacao.ID == item.ID && x.RespostaSelecionada == true)); }
public ItemQuestionarioParticipacaoOpcoes ObterRespostaSelecionada(ItemQuestionarioParticipacao item) { return(_bmItemQuestionarioOpcoes.ObterRespostaSelecionada(item)); }
private static void PreencherResposta(ItemQuestionarioParticipacao itemQuestionario, DTORelatorioQuestionarioResposta resposta, List <ItemQuestionarioParticipacaoOpcoes> todasRespostasSelecionadas, Usuario professor = null) { RespostaParticipacaoProfessor rpp; try { rpp = professor != null ? new ManterRespostaParticipacaoProfessor().ObterTodosIQueryable() .FirstOrDefault( x => x.ItemQuestionarioParticipacao.ID == itemQuestionario.ID && x.Professor.ID == professor.ID) : null; } catch (Exception) { rpp = null; } // Caso seja uma questão discursiva, inserir a resposta informada. if (itemQuestionario.TipoItemQuestionario.ID == (int)enumTipoItemQuestionario.Discursiva) { resposta.NotaTexto = rpp != null ? rpp.Resposta : itemQuestionario.Resposta; } else { var respostaSelecionada = todasRespostasSelecionadas.FirstOrDefault( x => x.ItemQuestionarioParticipacao.ID == itemQuestionario.ID); string nota; if (rpp != null) { var notaProfessor = new ManterRespostaParticipacaoProfessorOpcoes().ObterTodosIQueryable() .FirstOrDefault(x => x.RespostaParticipacaoProfessor.ID == rpp.ID && x.RespostaSelecionada == true); nota = notaProfessor?.ItemQuestionarioParticipacaoOpcoes.Nome; resposta.NotaTexto = notaProfessor?.ItemQuestionarioParticipacaoOpcoes.Nome; resposta.IdProfessor = rpp.Professor.ID; } else { nota = respostaSelecionada?.Nome; resposta.NotaTexto = respostaSelecionada?.Nome; } if (nota != null) { // Solução alternativa para obter as notas nos casos dos valores 10 e 0, que são concatenados com strings. // Não existe um campo que salve o valor numérico da resposta. nota = nota.ToLower().Replace("10 - satisfatório", "10") .Replace("0 - insatisfatório", "0"); int n; if (int.TryParse(nota, out n)) { resposta.Nota = n; } else { resposta.Nota = null; } } else { // Se caiu aqui é porque o questionário resposta está mal formatado. resposta.Nota = null; resposta.NotaTexto = null; } } }