public static string FormatarTextoCertificadoTutor(string texto, int idOferta, int idTurma, int idUsuario) { var tI = new CultureInfo("pt-Br", true).TextInfo; if (idOferta > 0 && idUsuario > 0) { var oferta = new BMOferta().ObterPorId(idOferta); var professor = new BMUsuario().ObterPorId(idUsuario); if (oferta == null || professor == null) { return("Erro ao gerar o certificado"); } var turma = new BMTurma().ObterPorID(idTurma); if (turma == null) { return("Erro ao gerar o certificado"); } var dataInicioTurma = turma.DataInicio.ToString("dd/MM/yyyy"); string dataFimTurma = turma.DataFinal.HasValue ? turma.DataFinal.Value.ToString("dd/MM/yyyy") : ""; var nomeUsuario = tI.ToTitleCase(professor.Nome.ToLower()); int totalHoras = oferta.SolucaoEducacional.ListaItemTrilha .Where(x => x.Aprovado == enumStatusSolucaoEducacionalSugerida.Aprovado) .Sum(x => x.CargaHoraria); return(texto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#PROFESSOR", nomeUsuario != null ? nomeUsuario : string.Empty) .Replace("#LOCAL", turma.Local != null ? turma.Local : "Sem Local") .Replace("#CPF", WebFormHelper.FormatarCPF(professor.CPF)) .Replace("#EMAILPROFESSOR", professor.Email) .Replace("#OFERTA", oferta.Nome) .Replace("#CARGAHORARIA", oferta.CargaHoraria.ToString()) .Replace("#NOMESE", oferta.SolucaoEducacional.Nome) .Replace("#EMENTA", oferta.SolucaoEducacional.Ementa) .Replace("#DATEGERACAOCERTIFICADO", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAGERACAOCERTIFICADO", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#CODIGOCERTIFICADO", oferta.CertificadoTemplateProfessor.ObterCodigoCertificadoTutor(idOferta, idTurma, idUsuario)) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA.", dataFimTurma) .Replace("#TEXTOPORTAL", oferta.SolucaoEducacional.Apresentacao != null ? Regex.Replace(oferta.SolucaoEducacional.Apresentacao, "<.*?>", string.Empty) : string.Empty) .Replace("#INFORMACOESADICIONAIS", oferta.InformacaoAdicional != null ? Regex.Replace(oferta.InformacaoAdicional, "<.*?>", string.Empty) : string.Empty) .Replace("#AREATEMATICA", oferta.SolucaoEducacional.ListaAreasTematicas.Any() ? string.Join(", ", oferta.SolucaoEducacional.ListaAreasTematicas.Select(x => x.AreaTematica.Nome).ToArray()) : string.Empty) .Replace("#CARGAHORARIASOLUCAOSEBRAE", totalHoras.ToString())); } return("Erro ao gerar o certificado"); }
/// <summary> /// Método usado para gerar o certificado de cursos normais e de trilha /// </summary> /// <param name="pTexto"></param> /// <param name="pIdMatriculaOferta"></param> /// <param name="pIdUsuarioTrilha"></param> /// <returns></returns> public static string FormatarTextoCertificadoTrilhaTurma(string pTexto, int pIdMatriculaPrograma, int pIdMatriculaOferta, int pIdUsuarioTrilha) { var tI = new CultureInfo("pt-Br", true).TextInfo; if (pIdMatriculaPrograma > 0) { var matriculaCapacitacao = new BMMatriculaCapacitacao().ObterPorId(pIdMatriculaPrograma); if (matriculaCapacitacao != null) { var nomeUsuario = tI.ToTitleCase(matriculaCapacitacao.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.Any()) { if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.HasValue) { dataInicioTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataInicio.Value.ToString("dd/MM/yyyy"); } if (matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault().TurmaCapacitacao != null && matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.HasValue) { dataFimTurma = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy"); } } pTexto = pTexto .Replace("#CODIGOCERTIFICADO", matriculaCapacitacao.CDCertificado) .Replace("#DATEGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaCapacitacao.DataGeracaoCertificado.HasValue ? matriculaCapacitacao.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaCapacitacao.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaCapacitacao.Usuario.Email) .Replace("#OFERTA", matriculaCapacitacao.Capacitacao.Nome) .Replace("#NOMEPROGRAMA", matriculaCapacitacao.Capacitacao.Programa.Nome) .Replace("#DATAINICIOOFERTA", matriculaCapacitacao.Capacitacao.DataInicio.ToString("dd/MM/yyyy")) .Replace("#DATAFIMOFERTA", matriculaCapacitacao.Capacitacao.DataFim.HasValue ? matriculaCapacitacao.Capacitacao.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .DataMatricula.ToString("dd/MM/yyyy") : string.Empty); var matriculaTurmaCapacitacao = matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() : null; var dataTermino = matriculaTurmaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao != null && matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.HasValue ? matriculaTurmaCapacitacao.MatriculaCapacitacao.DataFim.Value.ToString("dd/MM/yyyy") : ""; pTexto = pTexto.Replace("#DATATERMINO", dataTermino); pTexto.Replace("#TURMA", matriculaCapacitacao.ListaMatriculaTurmaCapacitacao != null ? matriculaCapacitacao.ListaMatriculaTurmaCapacitacao.FirstOrDefault() .TurmaCapacitacao.Nome : string.Empty) .Replace("#STATUS", matriculaCapacitacao.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma); return(pTexto); } } if (pIdMatriculaOferta > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); if (matriculaOferta != null) { var nomeUsuario = tI.ToTitleCase(matriculaOferta.Usuario.Nome.ToLower()); var dataInicioTurma = string.Empty; var dataFimTurma = string.Empty; var matriculaTurma = matriculaOferta.MatriculaTurma.FirstOrDefault(); if (matriculaOferta.MatriculaTurma != null && matriculaTurma != null) { if (matriculaTurma.Turma != null) { dataInicioTurma = matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy"); } if (matriculaTurma.Turma != null && matriculaTurma.Turma.DataFinal.HasValue) { dataFimTurma = matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy"); } } int totalHoras = matriculaOferta.Oferta.SolucaoEducacional.ListaItemTrilha .Where(x => x.Aprovado == enumStatusSolucaoEducacionalSugerida.Aprovado) .Sum(x => x.CargaHoraria); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(matriculaOferta.Usuario.CPF)) .Replace("#EMAILALUNO", matriculaOferta.Usuario.Email) .Replace("#CARGAHORARIASOLUCAOSEBRAE", totalHoras.ToString()) .Replace("#OFERTA", matriculaOferta.Oferta.Nome) .Replace("#CARGAHORARIA", matriculaOferta.Oferta.CargaHoraria.ToString()) .Replace("#NOMESE", matriculaOferta.Oferta.SolucaoEducacional.Nome) .Replace("#DATAINICIOOFERTA", matriculaTurma != null ? matriculaTurma.Turma.DataInicio.ToString("dd/MM/yyyy") : "") .Replace("#DATAFIMOFERTA", matriculaTurma.Turma.DataFinal.HasValue ? matriculaTurma.Turma.DataFinal.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAMATRICULA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.DataMatricula.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATATERMINO", matriculaOferta.MatriculaTurma != null && matriculaTurma.DataTermino.HasValue ? matriculaTurma .DataTermino.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#EMENTA", matriculaOferta.Oferta.SolucaoEducacional.Ementa) .Replace("#TURMA", matriculaOferta.MatriculaTurma != null ? matriculaTurma.Turma.Nome : string.Empty) .Replace("#PROFESSOR", matriculaTurma != null && matriculaTurma.Turma.Professores.Any() ? string.Join(", ", matriculaTurma.Turma.Professores.Select(x => x.Nome).ToArray()) : string.Empty) .Replace("#LOCAL", matriculaTurma.Turma.Local != null ? matriculaTurma.Turma.Local : "Sem Local") .Replace("#CODIGOCERTIFICADO", matriculaOferta.CDCertificado) .Replace("#MEDIAFINALTURMA", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#DATEGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", matriculaOferta.DataGeracaoCertificado.HasValue ? matriculaOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#NOTAFINAL", matriculaOferta.MatriculaTurma != null && matriculaTurma.MediaFinal.HasValue ? matriculaTurma.MediaFinal.Value.ToString() : string.Empty) .Replace("#STATUS", matriculaOferta.StatusMatriculaFormatado) .Replace("#DATAINICIOTURMA", dataInicioTurma) .Replace("#DATAFIMTURMA", dataFimTurma) .Replace("#TEXTOPORTAL", matriculaOferta.Oferta.SolucaoEducacional.Apresentacao != null ? Regex.Replace(matriculaOferta.Oferta.SolucaoEducacional.Apresentacao, "<.*?>", string.Empty) : string.Empty) .Replace("#INFORMACOESADICIONAIS", matriculaOferta.Oferta.InformacaoAdicional != null ? Regex.Replace(matriculaOferta.Oferta.InformacaoAdicional, "<.*?>", string.Empty) : string.Empty) .Replace("#AREATEMATICA", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Any() ? string.Join(", ", matriculaOferta.Oferta.SolucaoEducacional.ListaAreasTematicas.Select( x => x.AreaTematica.Nome).ToArray()) : string.Empty) ); } } if (pIdUsuarioTrilha > 0) { MatriculaOferta matriculaOferta = new BMMatriculaOferta().ObterPorID(pIdMatriculaOferta); var bmUsuarioTrilha = new BMUsuarioTrilha(); var usuarioTrilha = bmUsuarioTrilha.ObterPorId(pIdUsuarioTrilha); if (usuarioTrilha == null || !usuarioTrilha.StatusMatricula.Equals(enumStatusMatricula.Aprovado)) { return("Erro ao gerar o certificado"); } var nomeUsuario = tI.ToTitleCase(usuarioTrilha.Usuario.Nome.ToLower()); var cargaHoraria = bmUsuarioTrilha.ObterTotalCargaHoraria(usuarioTrilha); return(pTexto .Replace("#DATASISTEMAEXTENSO", DateTime.Now.ToLongDateString().ToString()) .Replace("#DATASISTEMA", DateTime.Now.ToString("dd/MM/yyyy")) .Replace("#DATAHORASISTEMA", DateTime.Now.ToString("dd/MM/yyyy HH:mm")) .Replace("#ALUNO", nomeUsuario) .Replace("#CPF", WebFormHelper.FormatarCPF(usuarioTrilha.Usuario.CPF)) .Replace("#EMAILALUNO", usuarioTrilha.Usuario.Email) .Replace("#TRILHANIVEL", usuarioTrilha.TrilhaNivel.Nome) .Replace("#TRILHA", usuarioTrilha.TrilhaNivel.Trilha.Nome) .Replace("#DATALIMITE", usuarioTrilha.DataLimite.ToString("dd/MM/yyyy")) .Replace("#DATAINICIOTRILHA", usuarioTrilha.DataInicio.ToString("dd/MM/yyyy")) .Replace("#CARGAHORARIASOLUCAOSEBRAE", cargaHoraria.ToString()) .Replace("#DATAFIMTRILHA", usuarioTrilha.DataFim.HasValue ? usuarioTrilha.DataFim.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#MEDIAFINALTRILHA", usuarioTrilha.NotaProva.HasValue ? usuarioTrilha.NotaProva.Value.ToString() : string.Empty) .Replace("#CODIGOCERTIFICADO", usuarioTrilha.CDCertificado) .Replace("#CARGAHORARIA", cargaHoraria.ToString()) .Replace("#DATEGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty) .Replace("#DATAGERACAOCERTIFICADO", usuarioTrilha.DataGeracaoCertificado.HasValue ? usuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy") : string.Empty)); } return("Erro ao gerar o certificado"); }