/// <summary> /// Verifica as Habilidades, se dados novos foram inseridos, alterados e excluidos e faz as correções necessárias /// </summary> private void VerificarHabilidades() { bool achou = false; HabilidadesDAO HabDao = new HabilidadesDAO(); //Remove dados não válidos for (int n = 0; n < CurriculoNovo.Habilidades.Count; n++) { if (CurriculoNovo.Habilidades[n].Descricao == null) { CurriculoNovo.Habilidades.RemoveAt(n); } } //Se o curriculo estava sem Idiomas todos os dados devem ser inseridos if (CurriculoVelho.Habilidades.Count == 0 && CurriculoNovo.Habilidades.Count > 0) { foreach (HabilidadesViewModel form in CurriculoNovo.Habilidades) { form.IdCurriculo = CurriculoVelho.Id; HabDao.Inserir(form); } return; } //Verifica uma exclusão de Habilidades ou uma alteração foreach (HabilidadesViewModel form in CurriculoVelho.Habilidades) { foreach (HabilidadesViewModel form2 in CurriculoNovo.Habilidades) { if (form2.Id == form.Id) { if (form2.IdCurriculo == -1) { HabDao.Excluir(form2.Id, form.IdCurriculo); } else if (HabChanged(form, form2)) { HabDao.Alterar(form2); } break; } } } //verifica inserção de dados foreach (HabilidadesViewModel form2 in CurriculoNovo.Habilidades) { if (form2.Id == 0) { form2.IdCurriculo = CurriculoVelho.Id; HabDao.Inserir(form2); } } }
public IActionResult Salvar(CurriculoViewModel cur) { int id; try { ViewBag.Idioma = getSelectedLanguage(); CurriculoDAO dao = new CurriculoDAO(); FormacaoDAO fdao = new FormacaoDAO(); IdiomaDAO Idao = new IdiomaDAO(); HabilidadesDAO Hdao = new HabilidadesDAO(); //cur.Nascimento = Convert.ToDateTime("10/07/1997"); cur.ImagemEmByte = ConvertImageToByte(cur.Imagem); if (dao.Consulta(cur.Id) == null) { id = dao.ProximoId(); dao.Inserir(cur); if (cur.ImagemEmByte != null) { dao.AlterarImagem(cur.ImagemEmByte, id); } //garante que vai estar no ID correto id = dao.ProximoId() - 1; foreach (FormacaoViewModel f in cur.Formacao) { if (f.Descricao != null && f.Instituicao != null) { f.IdCurriculo = id; fdao.Inserir(f); } } foreach (IdiomaViewModel d in cur.Idiomas) { if (d.Idioma != null) { d.IdCurriculo = id; Idao.Inserir(d); } } foreach (HabilidadesViewModel h in cur.Habilidades) { if (h.Descricao != null) { h.IdCurriculo = id; Hdao.Inserir(h); } } } else { CompareCurriculos Compare = new CompareCurriculos(dao.Consulta(cur.Id), cur); Compare.CompararCurriculo(); if (cur.StatusImg == "Editar") { dao.AlterarImagem(cur.ImagemEmByte, cur.Id); } } return(RedirectToAction("index")); } catch (Exception erro) { return(View("Error", new ErrorViewModel(erro.ToString()))); } }