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); }