public ObjectReturn <bool> ExcluirExperiencia(Experiencia exp) { var ret = new ObjectReturn <bool> { Success = true }; try { using (var context = new perfilCurricularContext()) { context.experiencia.Remove(context.experiencia.FirstOrDefault(p => p.Curriculo == exp.Curriculo && p.id == exp.id)); context.SaveChanges(); } } catch (Exception ex) { ret.Ex = ex; ret.Message = ex.Message; ret.Success = false; } return(ret); }
public ObjectReturn <bool> ExcluirInteresse(Interesse interes) { var ret = new ObjectReturn <bool> { Success = true }; try { using (var context = new perfilCurricularContext()) { context.interesse.Remove(context.interesse.FirstOrDefault(i => i.Curriculo == interes.Curriculo && i.id == interes.id)); context.SaveChanges(); } } catch (Exception ex) { ret.Ex = ex; ret.Message = ex.Message; ret.Success = false; } return(ret); }
public ObjectReturn <Curriculo> Salvar(Curriculo cur, string path) { var ret = new ObjectReturn <Curriculo> { Success = true }; try { using (var context = new perfilCurricularContext()) { curriculo curriculoDB = null; curriculoDB = context.curriculo.FirstOrDefault(where => where.id == cur.id); curriculoDB.nomeCompleto = cur.nomeCompleto; curriculoDB.email = cur.email; curriculoDB.profissao = cur.profissao; curriculoDB.perfilCarreira = cur.perfilCarreira; curriculoDB.linkedinDisplay = cur.linkedinDisplay; curriculoDB.linkedin = cur.linkedin; curriculoDB.introProjeto = cur.introProjeto; if (!String.IsNullOrEmpty(cur.nomeFoto)) { curriculoDB.foto = cur.nomeFoto; } if (cur.interesse != null && cur.interesse.Count > 0) { var insercao = cur.interesse.Where(where => where.id == 0); var alteracao = cur.interesse.Where(where => where.id > 0); var ids = alteracao.Select(sel => sel.id).ToList(); var itemsInteresseDB = curriculoDB.interesse.Where(where => ids.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracao) { var interesseDB = itemsInteresseDB.FirstOrDefault(where => where.id == item.id); interesseDB.descricao = item.descricao; } foreach (var novoInteresse in insercao) { var novoInteresseDB = new interesse() { descricao = novoInteresse.descricao, Curriculo = cur.id }; context.interesse.Add(novoInteresseDB); } } if (cur.proficiencia != null && cur.proficiencia.Count > 0) { var insercaoProficiencia = cur.proficiencia.Where(where => where.id == 0); var alteracaoProficiencia = cur.proficiencia.Where(where => where.id > 0); var idsProficiencia = alteracaoProficiencia.Select(sel => sel.id).ToList(); var itemsProficienciaDB = curriculoDB.proficiencia.Where(where => idsProficiencia.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoProficiencia) { var ProficienciaDB = itemsProficienciaDB.FirstOrDefault(where => where.id == item.id); if (ProficienciaDB != null) { ProficienciaDB.descricao = item.descricao; ProficienciaDB.porcentagem = item.porcentagem; } } foreach (var novaProficiencia in insercaoProficiencia) { var novaProficienciaDB = new proficiencia() { descricao = novaProficiencia.descricao, porcentagem = novaProficiencia.porcentagem, Curriculo = cur.id }; context.proficiencia.Add(novaProficienciaDB); } } if (cur.telefone != null && cur.telefone.Count > 0) { var insercaoTelefone = cur.telefone.Where(where => where.id == 0); var alteracaoTelefone = cur.telefone.Where(where => where.id > 0); var idsTelefone = alteracaoTelefone.Select(sel => sel.id).ToList(); var itemsTelefoneDB = curriculoDB.telefone.Where(where => idsTelefone.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoTelefone) { var TelefoneDB = itemsTelefoneDB.FirstOrDefault(where => where.id == item.id); if (TelefoneDB != null) { TelefoneDB.ddd = item.ddd; TelefoneDB.numero = item.numero; } } foreach (var novaTelefone in insercaoTelefone) { var novaTelefoneDB = new telefone() { ddd = novaTelefone.ddd, numero = novaTelefone.numero, Curriculo = cur.id }; context.telefone.Add(novaTelefoneDB); } } if (cur.projeto != null && cur.projeto.Count > 0) { var insercaoProjeto = cur.projeto.Where(where => where.id == 0); var alteracaoProjeto = cur.projeto.Where(where => where.id > 0); var idsProjeto = alteracaoProjeto.Select(sel => sel.id).ToList(); var itemsProjetoDB = curriculoDB.projeto.Where(where => idsProjeto.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoProjeto) { var ProjetoDB = itemsProjetoDB.FirstOrDefault(where => where.id == item.id); if (ProjetoDB != null) { ProjetoDB.nomeProjeto = item.nomeProjeto; ProjetoDB.descricaoProjeto = item.descricaoProjeto; } } foreach (var novaProjeto in insercaoProjeto) { var novaProjetoDB = new projeto() { nomeProjeto = novaProjeto.nomeProjeto, descricaoProjeto = novaProjeto.descricaoProjeto, Curriculo = cur.id }; context.projeto.Add(novaProjetoDB); } } if (cur.lingua != null && cur.lingua.Count > 0) { var insercaoLingua = cur.lingua.Where(where => where.id == 0); var alteracaoLingua = cur.lingua.Where(where => where.id > 0); var idsLingua = alteracaoLingua.Select(sel => sel.id).ToList(); var itemsLinguaDB = curriculoDB.lingua.Where(where => idsLingua.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoLingua) { var LinguaDB = itemsLinguaDB.FirstOrDefault(where => where.id == item.id); if (LinguaDB != null) { LinguaDB.descricao = item.descricao; LinguaDB.Nivel = item.nivelId; } } foreach (var novaLingua in insercaoLingua) { var novaLinguaDB = new lingua() { descricao = novaLingua.descricao, Nivel = novaLingua.nivelId, Curriculo = cur.id }; context.lingua.Add(novaLinguaDB); } } if (cur.formacao != null && cur.formacao.Count > 0) { var insercaoFormacao = cur.formacao.Where(where => where.id == 0); var alteracaoFormacao = cur.formacao.Where(where => where.id > 0); var idsFormacao = alteracaoFormacao.Select(sel => sel.id).ToList(); var itemsFormacaoDB = curriculoDB.formacao.Where(where => idsFormacao.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoFormacao) { var FormacaoDB = itemsFormacaoDB.FirstOrDefault(where => where.id == item.id); if (FormacaoDB != null) { FormacaoDB.curso = item.curso; FormacaoDB.instituicaoEnsino = item.instituicaoEnsino; FormacaoDB.anoInicio = item.anoInicio; FormacaoDB.anoFim = item.anoFim; FormacaoDB.graduacao = item.graduacao; } } foreach (var novaFormacao in insercaoFormacao) { var novaFormacaoDB = new formacao() { curso = novaFormacao.curso, instituicaoEnsino = novaFormacao.instituicaoEnsino, anoInicio = novaFormacao.anoInicio, anoFim = novaFormacao.anoFim, graduacao = novaFormacao.graduacao, Curriculo = cur.id }; context.formacao.Add(novaFormacaoDB); } } if (cur.experiencia != null && cur.experiencia.Count > 0) { var insercaoExperiencia = cur.experiencia.Where(where => where.id == 0); var alteracaoExperiencia = cur.experiencia.Where(where => where.id > 0); var idsExperiencia = alteracaoExperiencia.Select(sel => sel.id).ToList(); var itemsExperienciaDB = curriculoDB.experiencia.Where(where => idsExperiencia.Contains(where.id) && where.Curriculo == cur.id); foreach (var item in alteracaoExperiencia) { var ExperienciaDB = itemsExperienciaDB.FirstOrDefault(where => where.id == item.id); if (ExperienciaDB != null) { ExperienciaDB.cargo = item.cargo; ExperienciaDB.empresa = item.empresa; ExperienciaDB.anoInicio = item.anoInicio; ExperienciaDB.anoFim = item.anoFim; ExperienciaDB.localidadeEmpresa = item.localidadeEmpresa; ExperienciaDB.descricao = item.descricao; } } foreach (var novaExperiencia in insercaoExperiencia) { var novaExperienciaDB = new experiencia() { cargo = novaExperiencia.cargo, empresa = novaExperiencia.empresa, anoInicio = novaExperiencia.anoInicio, anoFim = novaExperiencia.anoFim, localidadeEmpresa = novaExperiencia.localidadeEmpresa, descricao = novaExperiencia.descricao, Curriculo = cur.id }; context.experiencia.Add(novaExperienciaDB); } } context.SaveChanges(); if (!String.IsNullOrEmpty(cur.nomeFoto)) { cur.fotoArray = Convert.FromBase64String(cur.foto); System.IO.File.WriteAllBytes(path, cur.fotoArray); } } ret.Result = cur; } catch (Exception ex) { ret.Ex = ex; ret.Message = ex.Message; ret.Success = false; ret.Result = cur; } return(ret); }