@Transactional public void salvar(Lancamento lancamento) throws NegocioException { if (lancamento.getDataPagamento() != null && lancamento.getDataPagamento().after(Calendar.getInstance().getTime())) { lancamento.setDataPagamento(null); throw new NegocioException("Data de pagamento não pode ser uma data futura."); } this.lancamentos.guardar(lancamento); }
@Transactional public void excluir(Lancamento lancamento) throws NegocioException { lancamento = this.lancamentos.porId(lancamento.getId()); if (lancamento.getDataPagamento() != null) { throw new NegocioException("Não é possível excluir um lançamento pago"); } this.lancamentos.remover(lancamento); }