public void InicializaCurriculo(int candidatoID) { curriculo = ClsCurriculo.CarregaCurriculo(dados, candidatoID, false); //Instância o objeto currículo, já trazendo seu id, objetivo e lista de idiomas AtualizaTela(); //Atualiza o currículo no form }
public static void GeraCurriculo(Dados dados, int candidatoID, bool mostrarCurriculo, bool recrutador, string lCurso, string lPeriodo, string lModulo, string caminho) { var candidato = ClsCandidato.CarregaCandidato(dados, candidatoID); Document documento = new Document(PageSize.A4); documento.SetMargins(40, 40, 40, 40); if (recrutador) { caminho = caminho + @"\Currículos\" + lCurso + @"\" + lPeriodo + @"\" + lModulo; if (!Directory.Exists(caminho)) { Directory.CreateDirectory(caminho); } caminho = caminho + @"\" + candidato.Nome; string salvaCaminho = caminho; int i = 2; while (File.Exists(caminho + ".pdf") == true) { caminho = salvaCaminho + " (" + i.ToString() + ")"; i++; } caminho = caminho + ".pdf"; } else { caminho = caminho + @"\" + candidato.Nome; string salvaCaminho = caminho; int i = 2; while (File.Exists(caminho + ".pdf") == true) { caminho = salvaCaminho + " (" + i.ToString() + ")"; i++; } caminho = caminho + ".pdf"; } PdfWriter writer = PdfWriter.GetInstance(documento, new FileStream(caminho, FileMode.Create)); documento.Open(); #region Alocação estática no documento Paragraph pNome = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 20, Font.BOLD)); pNome.Alignment = Element.ALIGN_LEFT; Paragraph pInformacoes = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pInformacoes.Alignment = Element.ALIGN_LEFT; Paragraph pEndereco = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pEndereco.Alignment = Element.ALIGN_LEFT; Paragraph pContato = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pContato.Alignment = Element.ALIGN_LEFT; //pNome string nome = candidato.Nome; //pInformacoes string nacionalidade = candidato.Nacionalidade; string estado_civil = TrataEstadoCivil(candidato.Sexo, candidato.Estado_civil); string idade = CalculaIdade(candidato.Nascimento); //pEndereco string rua = candidato.Rua; string numero = candidato.Numero; string bairro = candidato.Bairro; string cep = string.Format("{0:#####-###}", Int64.Parse(candidato.Cep)); string cidade = candidato.Cidade; string estado = candidato.Estado; //pContato //string celular = string.Format("{0:(##)#####-####}", 16991097731); string celular = string.Format("{0:(##)#####-####}", Int64.Parse(candidato.Celular)); string email = candidato.Email; //Paragráfos pNome.Add(nome); pInformacoes.Add(nacionalidade + ", " + estado_civil + ", " + idade + " anos"); pEndereco.Add("Endereço: " + rua + ", n° " + numero + ", " + bairro + " - " + cep + " - " + cidade + " - " + estado); pContato.Add("Celular: " + celular + " - E-mail: " + email); //Adicionando paragráfos ao documento documento.Add(pNome); documento.Add(pInformacoes); documento.Add(pEndereco); documento.Add(pContato); #endregion var curriculo = ClsCurriculo.CarregaCurriculo(dados, candidatoID, true); if (curriculo.Objetivo != "") { documento.Add(Chunk.NEWLINE); Paragraph pObjetivoTitulo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)); pObjetivoTitulo.Alignment = Element.ALIGN_CENTER; Paragraph pObjetivo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pObjetivo.Alignment = Element.ALIGN_LEFT; string titulo = "Objetivo"; string objetivo = curriculo.Objetivo; pObjetivoTitulo.Add(titulo); pObjetivo.Add(objetivo); documento.Add(pObjetivoTitulo); documento.Add(pObjetivo); } documento.Add(Chunk.NEWLINE); Paragraph pFATitulo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)); pFATitulo.Alignment = Element.ALIGN_CENTER; string tituloFA = "Formação Acadêmica"; pFATitulo.Add(tituloFA); documento.Add(pFATitulo); /*var etec = ClsCursoEtec.CarregaCursoEtec(dados, candidatoID); * * Paragraph pCurso = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)); * pCurso.Alignment = Element.ALIGN_LEFT; * * Paragraph pEtec = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); * pEtec.Alignment = Element.ALIGN_LEFT; * * Paragraph pEtecTerceiraLinha = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); * pEtec.Alignment = Element.ALIGN_LEFT; * * string curso = etec.Curso; * string inicioEtec = etec.Inicio.ToShortDateString().ToString(); * string terminoEtec = etec.Termino.ToShortDateString().ToString(); * string periodoEtec = etec.Periodo; * string modulo = etec.Modulo; * * pCurso.Add(curso); * pEtec.Add("Etec Sylvio de Mattos Carvalho"); * pEtecTerceiraLinha.Add(inicioEtec + " a " + terminoEtec + " - " + modulo + " - " + periodoEtec); * * documento.Add(pCurso); * documento.Add(pEtec); * documento.Add(pEtecTerceiraLinha);*/ foreach (var formacaoAcademica in curriculo.FormacoesAcademicas) { documento.Add(Chunk.NEWLINE); Paragraph pFormacao = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)); pFormacao.Alignment = Element.ALIGN_LEFT; Paragraph pInstituicao = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pInstituicao.Alignment = Element.ALIGN_LEFT; Paragraph pInfo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pInfo.Alignment = Element.ALIGN_LEFT; string formacao = formacaoAcademica.Formacao; string instituicao = formacaoAcademica.Instituicao; string inicio = formacaoAcademica.Inicio.ToShortDateString().ToString(); string termino = formacaoAcademica.Termino.ToShortDateString().ToString(); pFormacao.Add(formacao); pInstituicao.Add(instituicao); pInfo.Add(inicio + " a " + termino); if (formacaoAcademica.Semestre != "") { string semestre = " - " + formacaoAcademica.Semestre; pInfo.Add(semestre); } if (formacaoAcademica.Periodo != "") { string periodo = " - " + formacaoAcademica.Periodo; pInfo.Add(periodo); } documento.Add(pFormacao); documento.Add(pInstituicao); documento.Add(pInfo); } if (curriculo.ExperienciasProfissionais.Count > 0) { documento.Add(Chunk.NEWLINE); Paragraph pEPTitulo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)); pEPTitulo.Alignment = Element.ALIGN_CENTER; string tituloEP = "Experiência Profissional"; pEPTitulo.Add(tituloEP); documento.Add(pEPTitulo); bool primeiraFormacao = true; foreach (var experienciaProfissional in curriculo.ExperienciasProfissionais) { if (primeiraFormacao == false) { documento.Add(Chunk.NEWLINE); } else { primeiraFormacao = false; } Paragraph pEmpresa = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)); pEmpresa.Alignment = Element.ALIGN_LEFT; Paragraph pCargo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pCargo.Alignment = Element.ALIGN_LEFT; Paragraph pInfo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pInfo.Alignment = Element.ALIGN_LEFT; string empresa = experienciaProfissional.Empresa; string cargo = experienciaProfissional.Cargo; string inicio = experienciaProfissional.Inicio.ToShortDateString(); string termino = " a " + experienciaProfissional.Termino.ToShortDateString(); pEmpresa.Add(empresa); pCargo.Add(cargo); if (termino != " a 01/01/0001") { pInfo.Add(inicio + termino); } else { pInfo.Add(inicio + " - Atualmente"); } documento.Add(pEmpresa); documento.Add(pCargo); documento.Add(pInfo); } } if (curriculo.Idiomas.Count > 0) { documento.Add(Chunk.NEWLINE); Paragraph pIdiomaTitulo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)); pIdiomaTitulo.Alignment = Element.ALIGN_CENTER; string tituloIdioma = "Idioma"; pIdiomaTitulo.Add(tituloIdioma); documento.Add(pIdiomaTitulo); bool primeiroIdioma = true; foreach (var idioma in curriculo.Idiomas) { if (primeiroIdioma == false) { documento.Add(Chunk.NEWLINE); } else { primeiroIdioma = false; } Paragraph pNomeIdioma = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD)); pNomeIdioma.Alignment = Element.ALIGN_LEFT; Paragraph pNivel = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pNivel.Alignment = Element.ALIGN_LEFT; string nomeIdioma = idioma.Nome; string nivel = idioma.Nivel; pNomeIdioma.Add(nomeIdioma); pNivel.Add(nivel); documento.Add(pNomeIdioma); documento.Add(pNivel); } } if (curriculo.QualificacoesTecnicas.Count > 0) { documento.Add(Chunk.NEWLINE); Paragraph pQTTitulo = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD)); pQTTitulo.Alignment = Element.ALIGN_CENTER; string tituloQT = "Qualificações Técnicas"; pQTTitulo.Add(tituloQT); documento.Add(pQTTitulo); bool primeiraQT = true; foreach (var qualificacaoTecnica in curriculo.QualificacoesTecnicas) { if (primeiraQT == false) { documento.Add(Chunk.NEWLINE); } else { primeiraQT = false; } Paragraph pQualificacaoTecnica = new Paragraph("", new Font(Font.FontFamily.HELVETICA, 12)); pQualificacaoTecnica.Alignment = Element.ALIGN_LEFT; string descricao = qualificacaoTecnica.Descricao; pQualificacaoTecnica.Add("• " + descricao); //• = alt + 7 documento.Add(pQualificacaoTecnica); } } documento.Close(); if (mostrarCurriculo) { System.Diagnostics.Process.Start(caminho); } }