private void GerarDadosRespondentes(DTORelatorioQuestionarioRespondente resultadoRespondente = null) { resultadoRespondente = resultadoRespondente ?? (Cache["dsRelatorioRespondente"] as DTORelatorioQuestionarioRespondente); if (resultadoRespondente == null) { throw new AcademicoException("Relatório respondente não encontrado para exibição. Tente novamente"); } // Dados padrões da consulta. var enunciados = resultadoRespondente.Enunciados.OrderBy(x => x.Id).ToList(); var questoes = resultadoRespondente.Questoes.OrderBy(x => x.IdEnunciado).ThenBy(x => x.Id).ToList(); // As respostas não recebem as respostas diretamente. Elas recebem DTOs com as respostas. var dtoRespostas = RelatorioQuestionario.ConverterDtoRespostas( ParticipacoesPaginaAtual(resultadoRespondente.Consulta), questoes); rptEnunciados.DataSource = enunciados; rptQuestoes.DataSource = questoes; rptRespostas.DataSource = dtoRespostas; // Glory Bind. rptEnunciados.DataBind(); rptQuestoes.DataBind(); rptRespostas.DataBind(); }
private decimal ObterQuanidadePaginas(DTORelatorioQuestionarioRespondente resultadoRespondente) { var qntPaginas = decimal.Divide(resultadoRespondente.TotalRespostas, MaxPerPage); // Adiciona uma página para os resultados residuais caso a divisão possua decimais. if (qntPaginas - ((int)qntPaginas) > 0) { qntPaginas = ((int)qntPaginas) + 1; } return(qntPaginas); }