private void GerarRelatorioHistoricoAtividade(int idUsuarioTrilha) { using (RelatorioHistoricoAtividade relHist = new RelatorioHistoricoAtividade()) { usuarioTrilha = relHist.ObterUsuarioTrilhaPorID(idUsuarioTrilha); IList <DTORelatorioHistoricoAtividadeDadosBasicos> relDp = null; // relHist.ConsultarHistoricoAtividadesDadosPessoais(pIdUsuarioTrilha); this.listaDTOAlunoDaTrilha = new ManterUsuarioTrilha().ListarRelatorioDoAlunoDaTrilha(usuarioTrilha.ID); //Dados Básico do usuário relDp = relHist.ObterDTORelatorioHistoricoAtividadeDadosBasicos(this.listaDTOAlunoDaTrilha); lstTopicoCount = relHist.ConsultarHistoricoAtividadeTopicoTematico(listaDTOAlunoDaTrilha); lstNotaProva = relHist.ConsultaHistoricoAtividadeNotaProva(usuarioTrilha.ID); lstDiagnostico = relHist.ConsultarHistoricoAtividadeDiagnostico(usuarioTrilha.ID); ReportViewer rv = new ReportViewer(); Assembly assembly = Assembly.LoadFrom(binPath + "\\Sebrae.Academico.Reports.dll"); Stream stream = assembly.GetManifestResourceStream("Sebrae.Academico.Reports.HistoricoAtividades.rptHistoricoAtividades.rdlc"); rv.LocalReport.LoadReportDefinition(stream); stream = assembly.GetManifestResourceStream("Sebrae.Academico.Reports.HistoricoAtividades.rptHistoricoAtividadesTopicoTematico.rdlc"); rv.LocalReport.LoadSubreportDefinition("HistoricoAtividades.rptHistoricoAtividadesTopicoTematico.rdlc", stream); rv.LocalReport.DataSources.Clear(); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", relDp)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", lstNotaProva)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet2a", lstDiagnostico)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet3", this.listaDTOAlunoDaTrilha)); rv.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing); rv.LocalReport.Refresh(); try { byte[] arradeBytes = rv.LocalReport.Render("PDF"); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ContentType = "application/pdf"; HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachement; filename=\"{0}\"", "HistoricoAtividade.pdf")); HttpContext.Current.Response.AddHeader("Content-Length", arradeBytes.Length.ToString()); HttpContext.Current.Response.OutputStream.Write(arradeBytes, 0, arradeBytes.Length); HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End(); } catch (System.Exception ex) { Exception inner = ex.InnerException; while (inner != null) { string mensagem = inner.Message; inner = inner.InnerException; } } } }
public byte[] HistoricoAtividadeTrilha(int pIdUsuarioTrilha) { if (autenticacao == null || !(segurancaAutenticacao.AutenticaUsuario(autenticacao))) { throw new Exception("Usuário não autenticado pelo sistema."); } using (RelatorioHistoricoAtividade relHist = new RelatorioHistoricoAtividade()) { usuarioTrilha = relHist.ObterUsuarioTrilhaPorID(pIdUsuarioTrilha); IList <DTORelatorioHistoricoAtividadeDadosBasicos> relDp = null; // relHist.ConsultarHistoricoAtividadesDadosPessoais(pIdUsuarioTrilha); this.listaDTOAlunoDaTrilha = new ManterUsuarioTrilha().ListarRelatorioDoAlunoDaTrilha(usuarioTrilha.ID); //Dados Básico do usuário relDp = relHist.ObterDTORelatorioHistoricoAtividadeDadosBasicos(this.listaDTOAlunoDaTrilha); lstTopicoCount = relHist.ConsultarHistoricoAtividadeTopicoTematico(listaDTOAlunoDaTrilha); IList <DTORelatorioHistoricoAtividadeNotaProva> lstNotaProva = relHist.ConsultaHistoricoAtividadeNotaProva(usuarioTrilha.ID); IList <DTORelatorioHistoricoAtividadeDiagnostico> lstDiagnostico = relHist.ConsultarHistoricoAtividadeDiagnostico(usuarioTrilha.ID); ReportViewer rv = new ReportViewer(); Assembly assembly = Assembly.LoadFrom(_binPath + "\\Sebrae.Academico.Reports.dll"); Stream stream = assembly.GetManifestResourceStream("Sebrae.Academico.Reports.HistoricoAtividades.rptHistoricoAtividades.rdlc"); rv.LocalReport.LoadReportDefinition(stream); stream = assembly.GetManifestResourceStream("Sebrae.Academico.Reports.HistoricoAtividades.rptHistoricoAtividadesTopicoTematico.rdlc"); rv.LocalReport.LoadSubreportDefinition("HistoricoAtividades.rptHistoricoAtividadesTopicoTematico.rdlc", stream); rv.LocalReport.DataSources.Clear(); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", relDp)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", lstNotaProva)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet2a", lstDiagnostico)); rv.LocalReport.DataSources.Add(new ReportDataSource("DataSet3", this.listaDTOAlunoDaTrilha)); rv.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing); rv.LocalReport.Refresh(); return(rv.LocalReport.Render("PDF")); } }
private void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e) { using (RelatorioHistoricoAtividade relHist = new RelatorioHistoricoAtividade()) { ReportDataSource r = new ReportDataSource("dsTopicoTematico", lstTopicoCount.Where(x => x.IDTopicoTematico == int.Parse(e.Parameters[0].Values[0])).ToList()); e.DataSources.Add(r); lstSolAutoInd = relHist.ConsultarHistoricoAtividadeSolucoesAutoIndicativas(this.listaDTOAlunoDaTrilha, int.Parse(e.Parameters[0].Values[0])); ReportDataSource ra = new ReportDataSource("dsSolucoesAutoIndicativas", lstSolAutoInd); e.DataSources.Add(ra); lstSolPort = relHist.ConsultaHistoricoAtividadeSolucoesPortifolio(this.listaDTOAlunoDaTrilha, int.Parse(e.Parameters[0].Values[0])); ReportDataSource rp = new ReportDataSource("dsSolucoesPortifolio", lstSolPort); e.DataSources.Add(rp); lstSprint = relHist.ConsultaHistoricoAtividadeSprint(usuarioTrilha.ID, int.Parse(e.Parameters[0].Values[0])); ReportDataSource rs = new ReportDataSource("dsSprint", lstSprint); e.DataSources.Add(rs); } }