/// <summary> /// Verifica os idiomas, se dados novos foram inseridos, alterados e excluidos e faz as correções necessárias /// </summary> private void VerificarIdiomas() { bool achou = false; IdiomaDAO IdiDao = new IdiomaDAO(); //Remove dados não válidos for (int n = 0; n < CurriculoNovo.Idiomas.Count; n++) { if (CurriculoNovo.Idiomas[n].Idioma == null) { CurriculoNovo.Idiomas.RemoveAt(n); } } //Se o curriculo estava sem Idiomas todos os dados devem ser inseridos if (CurriculoVelho.Idiomas.Count == 0 && CurriculoNovo.Idiomas.Count > 0) { foreach (IdiomaViewModel form in CurriculoNovo.Idiomas) { form.IdCurriculo = CurriculoVelho.Id; IdiDao.Inserir(form); } return; } //Verifica uma exclusão de Idiomas ou uma alteração foreach (IdiomaViewModel form in CurriculoVelho.Idiomas) { foreach (IdiomaViewModel form2 in CurriculoNovo.Idiomas) { if (form2.Id == form.Id) { if (form2.IdCurriculo == -1) { IdiDao.Excluir(form2.Id, form.IdCurriculo); } else if (IdioChanged(form, form2)) { IdiDao.Alterar(form2); } break; } } // o Id não foi encontrado logo terá que ser excluido } //verifica inserção de dados foreach (IdiomaViewModel form2 in CurriculoNovo.Idiomas) { if (form2.Id == 0) { form2.IdCurriculo = CurriculoVelho.Id; IdiDao.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()))); } }