/// <summary> /// Verifica a formação academica, se dados novos foram inseridos, alterados e excluidos e faz as correções necessárias /// </summary> private void VerificarFormacaoAcademica() { bool achou = false; FormacaoDAO formDao = new FormacaoDAO(); //Remove dados não válidos for (int n = 0; n < CurriculoNovo.Formacao.Count; n++) { if (CurriculoNovo.Formacao[n].Descricao == null && CurriculoNovo.Formacao[n].Instituicao == null) { CurriculoNovo.Formacao.RemoveAt(n); } } //Se o curriculo estava sem formação academica todos os dados devem ser inseridos if (CurriculoVelho.Formacao.Count == 0 && CurriculoNovo.Formacao.Count > 0) { foreach (FormacaoViewModel form in CurriculoNovo.Formacao) { form.IdCurriculo = CurriculoVelho.Id; formDao.Inserir(form); } return; } //Verifica uma exclusão de formação ou uma alteração foreach (FormacaoViewModel form in CurriculoVelho.Formacao) { foreach (FormacaoViewModel form2 in CurriculoNovo.Formacao) { if (form2.Id == form.Id) { if (form2.IdCurriculo == -1) { formDao.Excluir(form2.Id, form.IdCurriculo); } else if (FormacaoChanged(form, form2)) { formDao.Alterar(form2); } break; } } } achou = false; //verifica inserção de dados foreach (FormacaoViewModel form2 in CurriculoNovo.Formacao) { if (form2.Id == 0) { form2.IdCurriculo = CurriculoVelho.Id; formDao.Inserir(form2); } } }