示例#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));
        }
        public IList <DTOCertificadoTemplate> ObterTodos()
        {
            IList <DTOCertificadoTemplate> lstResut = null;

            try
            {
                BMCertificadoTemplate certificadoTemplateBM = new BMCertificadoTemplate();

                lstResut = new List <DTOCertificadoTemplate>();

                foreach (CertificadoTemplate certificado in certificadoTemplateBM.ObterTodos())
                {
                    DTOCertificadoTemplate dto = new DTOCertificadoTemplate();
                    dto.Nome = certificado.Nome;
                    dto.ID   = certificado.ID;
                    lstResut.Add(dto);
                }
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }

            return(lstResut);
        }
 public ManterCertificadoTemplate()
     : base()
 {
     bmCertificadoTemplate = new BMCertificadoTemplate();
 }
        public CertificadoTemplate ObterCertificado(int pIdMatriculaOferta, int pIdUsuarioTrilha)
        {
            CertificadoTemplate certificadoTemplate = null;

            try
            {
                if (pIdMatriculaOferta > 0)
                {
                    MatriculaOferta mo = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta);

                    if (!(mo != null && mo.Oferta.CertificadoTemplate != null && mo.Oferta.CertificadoTemplate.ID > 0))
                    {
                        return(certificadoTemplate);
                    }

                    if (mo.StatusMatricula == enumStatusMatricula.Concluido)
                    {
                        if (string.IsNullOrEmpty(mo.CDCertificado))
                        {
                            mo.CDCertificado          = InfraEstrutura.Core.Helper.WebFormHelper.ObterStringAleatoria();
                            mo.DataGeracaoCertificado = DateTime.Now;
                            new BMMatriculaOferta().Salvar(mo);
                        }

                        certificadoTemplate = new BMCertificadoTemplate().ObterPorID(mo.Oferta.CertificadoTemplate.ID);
                    }
                    else
                    {
                        return(null);
                    }
                }

                else if (pIdUsuarioTrilha > 0)
                {
                    UsuarioTrilha ut = new BMUsuarioTrilha().ObterPorId(pIdUsuarioTrilha);

                    if (!(ut != null && ut.TrilhaNivel.CertificadoTemplate != null && ut.TrilhaNivel.CertificadoTemplate.ID > 0))
                    {
                        return(certificadoTemplate);
                    }

                    if (ut.StatusMatricula == enumStatusMatricula.Aprovado)
                    {
                        if (string.IsNullOrEmpty(ut.CDCertificado))
                        {
                            ut.CDCertificado          = InfraEstrutura.Core.Helper.WebFormHelper.ObterStringAleatoria();
                            ut.DataGeracaoCertificado = DateTime.Now;
                            new BMUsuarioTrilha().Salvar(ut);
                        }

                        return(new BMCertificadoTemplate().ObterPorID(ut.TrilhaNivel.CertificadoTemplate.ID));
                    }
                    else
                    {
                        return(certificadoTemplate);
                    }
                }

                else
                {
                    return(certificadoTemplate);
                }
            }
            catch (AcademicoException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                ErroUtil.Instancia.TratarErro(ex);
            }

            return(certificadoTemplate);
        }