public void AtualizarMatriculaOferta(MatriculaOferta pMatriculaOferta, bool verificarPoliticaDeConsequencia = true, bool fazerMerge = false) { try { ValidarMatriculaOfertaInformada(pMatriculaOferta); // Verifica se o usuário está bloqueado pelas políticas de consequência. if (verificarPoliticaDeConsequencia) { _bmMatriculaOferta.VerificarPoliticaDeConsequencia(pMatriculaOferta); } var bmMatriculaOferta = new BMMatriculaOferta(); if (fazerMerge) { bmMatriculaOferta.FazerMerge(pMatriculaOferta); } else { bmMatriculaOferta.Salvar(pMatriculaOferta); } //TODO: para retirar esse try catch é preciso atualizar os lugares que dependem desse metodo. } catch (PoliticaConsequenciaException) { throw; } catch { throw new AcademicoException(string.Format( "Houve um erro no salvamento da matrícula do aluno {0} ({1})", pMatriculaOferta.Usuario.Nome, pMatriculaOferta.Usuario.CPF)); } }