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;
                    }
                }
            }
        }
Example #2
0
        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);
            }
        }