class ManterModeloBasicoON extends BaseBusiness {

	public void excluirModeloBasico(Integer modeloBasicoSeq)
			throws ApplicationBusinessException {
		RapServidores servidorLogado = getServidorLogadoFacade().obterServidorLogado();
		
		if (modeloBasicoSeq == null) {
			throw new IllegalArgumentException("Parâmetro obrigatório");
		}
		
		MpmModeloBasicoPrescricao modelo = this.getMpmModeloBasicoPrescricaoDAO().obterPorChavePrimaria(modeloBasicoSeq);


		if (!servidorLogado.equals(modelo.getServidor())) {
			throw new ApplicationBusinessException(
					ManterModeloBasicoONExceptionCode.MENSAGEM_MODELO_BASICO_SOMENTE_SERVIDOR_EXCLUSIVO_EXCLUI);
		}

		try {
			this.getMpmModeloBasicoPrescricaoDAO().remover(modelo);
			this.getMpmModeloBasicoPrescricaoDAO().flush();
		} catch (PersistenceException e) {
			if (e.getCause() instanceof ConstraintViolationException) {
				throw new ApplicationBusinessException(
						ManterModeloBasicoONExceptionCode.MENSAGEM_MODELO_BASICO_POSSUI_ITENS_ASSOCIADOS,
						e);
			}
			throw e;

		}

	}

}