private void BtnGerarCurriculo_Click(object sender, EventArgs e) { try { if (caminho == "") { if (selecionaPasta.ShowDialog() == DialogResult.OK) { caminho = selecionaPasta.SelectedPath; lblDiretorio.Text = caminho; lblDiretorio.Location = new Point(this.Width - lblDiretorio.Size.Width - 8, btnAlterarDiretorio.Location.Y + 28); lblDiretorio.Visible = true; ClsCurriculo.GeraCurriculo(dados, idCandidato, true, false, "", "", "", caminho); } } else { ClsCurriculo.GeraCurriculo(dados, idCandidato, true, false, "", "", "", caminho); } } catch (Exception ex) { MessageBox.Show(string.Format("Ocorreu um erro: {0}", ex.Message)); } }
private void BtnSalvar_Click(object sender, EventArgs e) { if (dtConsulta.Rows.Count > 0 == false || dtConsulta.Rows[0].Cells[0].Value == null) { MessageBox.Show("Não há nenhum currículo para salvar!"); } else { try { Recrutador.ListaIds.Clear(); localPeriodo = cboPeriodo.SelectedItem.ToString(); localCurso = cboCurso.SelectedItem.ToString(); localModulo = cboModulo.SelectedItem.ToString(); int numLinhas = dtConsulta.Rows.Count; for (int i = 0; i < numLinhas - 1; i++) { if (dtConsulta.Rows[i].Cells[5].Value.ToString() != "") { Recrutador.ListaIds.Add(int.Parse(dtConsulta.Rows[i].Cells[0].Value.ToString())); } } if (caminho == "") { if (selecionaPasta.ShowDialog() == DialogResult.OK) { caminho = selecionaPasta.SelectedPath; lblDiretorio.Text = caminho; lblDiretorio.Location = new Point(this.Width - lblDiretorio.Size.Width - 8, btnAlterarDiretorio.Location.Y + 28); lblDiretorio.Visible = true; foreach (var id in Recrutador.ListaIds) { ClsCurriculo.GeraCurriculo(dados, id, false, true, localCurso, localPeriodo, localModulo, caminho); } MessageBox.Show("Currículos salvos!"); } } else { foreach (var id in Recrutador.ListaIds) { ClsCurriculo.GeraCurriculo(dados, id, false, true, localCurso, localPeriodo, localModulo, caminho); } MessageBox.Show("Currículos salvos!"); } } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message); } } }
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); } }