Esempio n. 1
0
        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));
        }
Esempio n. 2
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);
        }
Esempio n. 3
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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 6
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");
                }
            }
        }