Exemplo n.º 1
0
        protected void lkbEmitirCertificado_Click(object sender, EventArgs e)
        {
            CertificadoTemplate cf = CertificadoTemplateUtil.ConsultarCertificado(0, 0, this.IdUsuarioTrilha);
            //DataTable dt = CertificadoTemplateUtil.GerarDataTableComCertificado(0, this.IdUsuarioTrilha, cf);

            //byte[] resultado = CommonHelper.GerarArrayDeBytesParaORelatorioCertificadoTemplate(cf, dt, "PDF");
            //CommonHelper.GerarArquivoParaDowload(resultado);
        }
Exemplo n.º 2
0
        public byte[] EmitirCertificado(int pIdMatriculaPrograma, int pIdMatriculaOferta, int pIdUsuarioTrilha)
        {
            if (autenticacao == null || !(segurancaAutenticacao.AutenticaUsuario(autenticacao)))
            {
                throw new Exception("Usuário não autenticado pelo sistema.");
            }

            var cf = CertificadoTemplateUtil.ConsultarCertificado(pIdMatriculaPrograma, pIdMatriculaOferta, pIdUsuarioTrilha);
            var dt = CertificadoTemplateUtil.GerarDataTableComCertificado(pIdMatriculaPrograma, pIdMatriculaOferta, pIdUsuarioTrilha, cf);

            return(CertificadoTemplateUtil.RetornarCertificado(cf, dt));
        }
Exemplo n.º 3
0
        public void EmitirCertificado(MatriculaOferta matriculaOferta)
        {
            if (matriculaOferta.Oferta.SolucaoEducacional.Fornecedor.ID != (int)enumFornecedor.FGVOCW)
            {
                CertificadoTemplate cf = CertificadoTemplateUtil.ConsultarCertificado(0, matriculaOferta.ID, 0);
                DataTable           dt = CertificadoTemplateUtil.GerarDataTableComCertificado(0, matriculaOferta.ID, 0, cf);

                string caminhoReport = string.Empty;
                if (string.IsNullOrWhiteSpace(cf.Imagem2) && string.IsNullOrWhiteSpace(cf.TextoCertificado2))
                {
                    caminhoReport = "EmitirCertificado.rptCertificadoTemplate.rdlc";
                }
                else
                {
                    caminhoReport = "EmitirCertificado.rptCertificadoTemplate2paginas.rdlc";
                }

                string   binPath  = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "bin");
                Assembly assembly = Assembly.LoadFrom(binPath + "\\Sebrae.Academico.Reports.dll");
                Stream   stream   = assembly.GetManifestResourceStream("Sebrae.Academico.Reports." + caminhoReport);


                ReportViewer rv = new ReportViewer();
                rv.LocalReport.LoadReportDefinition(stream);
                rv.LocalReport.DataSources.Clear();
                rv.LocalReport.DataSources.Add(new ReportDataSource("dsCertificadoTemplate", dt));

                var fileBytes = rv.LocalReport.Render("PDF");

                System.Web.HttpContext context = System.Web.HttpContext.Current;
                context.Response.Clear();
                context.Response.ClearHeaders();
                context.Response.ClearContent();
                context.Response.AppendHeader("content-length", fileBytes.Length.ToString());
                context.Response.ContentType = "application/pdf";
                context.Response.AppendHeader("content-disposition", "attachment; filename=Certificado.pdf");
                context.Response.BinaryWrite(fileBytes);

                context.ApplicationInstance.CompleteRequest();
            }
            else
            {
                var link = new HistoricoAcademicoServices().ConsultarHistorico(matriculaOferta.Usuario.ID).FirstOrDefault(x => x.IdMatricula == matriculaOferta.ID);

                if (link != null && !string.IsNullOrEmpty(link.LKCertificado))
                {
                    try
                    {
                        HttpWebRequest myReq   = (HttpWebRequest)WebRequest.Create(link.LKCertificado);
                        WebResponse    myResp  = myReq.GetResponse();
                        HttpContext    context = HttpContext.Current;

                        byte[] b = null;
                        using (Stream stream = myResp.GetResponseStream())
                            using (MemoryStream ms = new MemoryStream())
                            {
                                int count = 0;
                                do
                                {
                                    byte[] buf = new byte[1024];
                                    count = stream.Read(buf, 0, 1024);
                                    ms.Write(buf, 0, count);
                                } while (stream.CanRead && count > 0);
                                b = ms.ToArray();

                                context.Response.ContentType = "application/pdf";
                                context.Response.AppendHeader("content-disposition", "attachment; filename=Certificado.pdf");
                                context.Response.BinaryWrite(ms.ToArray());
                                context.Response.Flush();
                            }
                    }
                    catch
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Erro ao Baixar Certificado do Servidor Remoto FGV");
                    }
                }
                else
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Certificado do OCW não encontrado");
                }
            }
        }