public static ClsCurriculo CarregaCurriculo(Dados dados, int candidatoID, bool cursoEtec) //Retorna o objeto currículo, já com todas as suas listas { var curriculo_id = dados.ConvertSqlToDataTable("select curriculo_id from candidato where id = @id", new MySqlParameter("@id", candidatoID)); if (DBNull.Value.Equals(curriculo_id.Rows[0]["curriculo_id"])) //Verifica se o candidato têm currículo, caso não tenha, é criado um currículo { return(new ClsCurriculo()); } int curriculoID = int.Parse(curriculo_id.Rows[0]["curriculo_id"].ToString()); var tabela = dados.ConvertSqlToDataTable("select * from curriculo where id = @id", new MySqlParameter("@id", curriculoID)); //Caso tenha, é feito um select * em seu seu id var curriculo = new ClsCurriculo //Cria a instância do currículo e já define seu ID e Objetivo { ID = int.Parse(tabela.Rows[0]["id"].ToString()), Objetivo = tabela.Rows[0]["objetivo"].ToString() }; curriculo.Idiomas = ClsIdioma.CarregaIdiomas(dados, curriculo.ID); //Insere na lista de idiomas do currículo, os idiomas cadastrados curriculo.QualificacoesTecnicas = ClsQualificacaoTecnica.CarregaQualificacoesTecnicas(dados, curriculo.ID); if (cursoEtec) { curriculo.FormacoesAcademicas = ClsFormacaoAcademica.CarregaFormacoesAcademicasCursoEtec(dados, curriculoID); } else { curriculo.FormacoesAcademicas = ClsFormacaoAcademica.CarregaFormacoesAcademicas(dados, curriculoID); } curriculo.ExperienciasProfissionais = ClsExperienciaProfissional.CarregaExperienciasProfissionais(dados, curriculoID); return(curriculo); }
private void SalvaIdiomas(Dados dados) //Salva os idiomas { var idiomasCadastradosBanco = ClsIdioma.CarregaIdiomas(dados, ID); //Cria uma nova lista de idiomas do banco foreach (var idioma in Idiomas) //Para cada idioma da lista de idiomas { if (idiomasCadastradosBanco.Any(i => i.ID == idioma.ID)) //Se algum dos idiomas da lista de idiomas existir na lista de idiomas do banco { idiomasCadastradosBanco.RemoveAll(i => i.ID == idioma.ID); //Ambos são removidos } else { idioma.Salvar(dados); //Se não, o idioma da lista de idiomas é inserido no banco de dados } } foreach (var idioma in idiomasCadastradosBanco) { idioma.Remover(dados); //Remove todos os idiomas da lista de idiomas cadastrados no banco } }