public IdiomaDTO Salvar(IdiomaDTO dto) { if (dto.Codigo > 0) { return(dao.Alterar(dto)); } else { return(dao.Adicionar(dto)); } }
/// <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); } } }