@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);
  }
  @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);
  }