public byte[] EmitirCertificadoModelo(int pIdMatriculaOferta, int pIdUsuarioTrilha, int pIdTrilha, int pIdTrilhaNivel) { if (autenticacao == null || !(segurancaAutenticacao.AutenticaUsuario(autenticacao))) { throw new Exception("Usuário não autenticado pelo sistema."); } TrilhaNivel tn = null; if (pIdUsuarioTrilha > 0) { var ut = new BMUsuarioTrilha().ObterPorId(pIdUsuarioTrilha); if (!(ut != null && ut.TrilhaNivel.CertificadoTemplate != null && ut.TrilhaNivel.CertificadoTemplate.ID > 0)) { throw new Exception("Erro ao gerar o certificado."); } tn = ut.TrilhaNivel; } else { tn = (new BMTrilhaNivel()).ObterPorFiltro(new TrilhaNivel { ID = pIdTrilhaNivel, Trilha = new Trilha { ID = pIdTrilha } }).FirstOrDefault(); if (!(tn != null && tn.CertificadoTemplate != null && tn.CertificadoTemplate.ID > 0)) { throw new Exception("Erro ao gerar o certificado."); } } var cf = new BMCertificadoTemplate().ObterPorID(tn.CertificadoTemplate.ID); var dt = new DataTable(); dt.Columns.Add(new DataColumn("TX_Certificado")); dt.Columns.Add(new DataColumn("OB_Imagem", typeof(byte[]))); var dr = dt.NewRow(); // Caso seja do tutor o valor pIdUsuarioTrilha é > 0 if (pIdUsuarioTrilha == 0) { dr["TX_Certificado"] = cf.TextoDoCertificado; } else { dr["TX_Certificado"] = cf.TextoDoCertificado; } dr["OB_Imagem"] = CertificadoTemplateUtil.ObterImagemBase64(cf.Imagem); if (!string.IsNullOrEmpty(cf.TextoCertificado2) && !string.IsNullOrEmpty(cf.Imagem2)) { dt.Columns.Add(new DataColumn("TX_Certificado2")); dt.Columns.Add(new DataColumn("OB_Image2", typeof(byte[]))); dr["TX_Certificado2"] = cf.TextoCertificado2; dr["OB_Image2"] = CertificadoTemplateUtil.ObterImagemBase64(cf.Imagem2); } dt.Rows.Add(dr); return(CertificadoTemplateUtil.RetornarCertificado(cf, dt)); }
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); }
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)); }
public byte[] EmitirCertificadoTutor(int pIdOferta, int pIdTurma, int pIdUsuario) { try { if (autenticacao == null || !(segurancaAutenticacao.AutenticaUsuario(autenticacao))) { throw new Exception("Usuário não autenticado pelo sistema."); } var cf = CertificadoTemplateUtil.ConsultarCertificadoTutor(pIdOferta); var dt = CertificadoTemplateUtil.GerarDataTableComCertificadoTutor(pIdOferta, pIdTurma, pIdUsuario, cf); string caminhoReport; if (!string.IsNullOrWhiteSpace(cf.TextoCertificado2) && !string.IsNullOrEmpty(cf.Imagem2)) { caminhoReport = "EmitirCertificado.rptCertificadoTemplate2paginas.rdlc"; } else { caminhoReport = "EmitirCertificado.rptCertificadoTemplate.rdlc"; } var combine = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "bin"); var assembly = Assembly.LoadFrom(combine + "\\Sebrae.Academico.Reports.dll"); var stream = assembly.GetManifestResourceStream("Sebrae.Academico.Reports." + caminhoReport); var rv = new ReportViewer(); rv.LocalReport.LoadReportDefinition(stream); rv.LocalReport.DataSources.Clear(); rv.LocalReport.DataSources.Add(new ReportDataSource("dsCertificadoTemplate", dt)); return(rv.LocalReport.Render("PDF")); } catch (Exception e) { throw e; } }
public byte[] ConsultarCertificadoCertame(int certificadoId, string login) { var result = CertificadoTemplateUtil.ConsultarCertificadoCertame(certificadoId, login); if (result != null) { var usuario = new ManterUsuario().ObterPorCPF(login); var manterUsuarioCertificado = new ManterUsuarioCertificadoCertame(); var usuarioCertificado = manterUsuarioCertificado .ObterCertamesPorUsuario(usuario) .Where(x => x.Status == enumStatusUsuarioCertificadoCertame.Aprovado) .FirstOrDefault(x => x.CertificadoCertame.ID == certificadoId); if (usuarioCertificado != null) { usuarioCertificado.DataDownload = DateTime.Now; manterUsuarioCertificado.Salvar(usuarioCertificado); } } return(result); }
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"); } } }