@Override
 public void acaoFinalizar() {
   if (validarFormulario()) {
     String idContaOrigem = contaOrigem.getSelectionModel().getSelectedItem().getIdCategoria();
     String idContaDestino = contaDestino.getSelectionModel().getSelectedItem().getIdCategoria();
     if (acao == Acao.CADASTRAR) {
       Transferencia item =
           new Transferencia(
               null,
               idContaOrigem,
               idContaDestino,
               itemController.getIdItem(),
               descricao.getText(),
               valor.getText(),
               data.getValue(),
               Datas.getHoraAtual());
       item.cadastrar();
       new Conta().alterarSaldo(Operacao.DECREMENTAR, idContaOrigem, valor.getText());
       new Conta().alterarSaldo(Operacao.INCREMENTAR, idContaDestino, valor.getText());
       Kernel.principal.acaoTransferencia();
       Janela.showTooltip(Status.SUCESSO, idioma.getMensagem("operacao_sucesso"), Duracao.CURTA);
       Animacao.fadeInOutClose(formulario);
     } else {
       Boolean contaOrigemMudou = !(Modelo.getIdContaOrigem().equals(idContaOrigem));
       if (contaOrigemMudou) {
         new Conta()
             .alterarSaldo(Operacao.INCREMENTAR, Modelo.getIdContaOrigem(), Modelo.getValor());
         new Conta().alterarSaldo(Operacao.DECREMENTAR, idContaOrigem, Modelo.getValor());
       }
       Modelo.setIdContaOrigem(contaOrigem.getValue());
       Boolean contaDestinoMudou = !(Modelo.getIdContaDestino().equals(idContaDestino));
       if (contaDestinoMudou) {
         new Conta()
             .alterarSaldo(Operacao.DECREMENTAR, Modelo.getIdContaDestino(), Modelo.getValor());
         new Conta().alterarSaldo(Operacao.INCREMENTAR, idContaDestino, Modelo.getValor());
       }
       Modelo.setIdContaDestino(contaDestino.getValue());
       Boolean valorMudou = !(Modelo.getValor().equals(valor.getText()));
       if (valorMudou) {
         BigDecimal valorDiferenca = new BigDecimal(Modelo.getValor());
         valorDiferenca = valorDiferenca.subtract(new BigDecimal(valor.getText()));
         new Conta()
             .alterarSaldo(
                 Operacao.INCREMENTAR, Modelo.getIdContaOrigem(), valorDiferenca.toString());
         new Conta()
             .alterarSaldo(
                 Operacao.DECREMENTAR, Modelo.getIdContaDestino(), valorDiferenca.toString());
       }
       Modelo.setValor(valor.getText());
       Modelo.setDescricao(descricao.getText());
       Modelo.setData(data.getValue());
       Modelo.alterar();
       Kernel.principal.acaoTransferencia();
       Janela.showTooltip(Status.SUCESSO, idioma.getMensagem("operacao_sucesso"), Duracao.CURTA);
       Animacao.fadeInOutClose(formulario);
     }
   }
 }
 @Override
 public void acaoCancelar() {
   Animacao.fadeInOutClose(formulario);
   if (controladorF != null) {
     controladorF.selecionarComboItem(0, null);
   }
 }
 @Override
 public void acaoFinalizar() {
   if (validarFormulario()) {
     if (acao == Acao.CADASTRAR) {
       DespesaItem item =
           new DespesaItem(null, categoriaController.getIdCategoria(), nome.getText(), null);
       item.cadastrar();
       if (controlador == null && controladorF == null) {
         Kernel.controlador.acaoFiltrar(true);
         Janela.showTooltip(Status.SUCESSO, idioma.getMensagem("operacao_sucesso"), Duracao.CURTA);
         Animacao.fadeInOutClose(formulario);
       } else {
         item =
             new DespesaItem()
                 .setNome(item.getNome())
                 .setNomeCategoria(item.getNomeCategoria())
                 .consultar();
         if (controlador != null) {
           controlador.acaoFiltrar(false);
           Animacao.fadeInOutClose(formulario);
           controlador.adicionar(item.toString());
         } else {
           Animacao.fadeOutClose(formulario);
           controladorF.selecionarComboItem(0, item);
         }
       }
     } else if (acao == Acao.ALTERAR) {
       DespesaItem item =
           new DespesaItem(
               modelo.getIdItem(), categoriaController.getIdCategoria(), nome.getText(), null);
       item.alterar();
       Kernel.controlador.acaoFiltrar(true);
       Janela.showTooltip(Status.SUCESSO, idioma.getMensagem("operacao_sucesso"), Duracao.CURTA);
       Animacao.fadeInOutClose(formulario);
     }
   }
 }
 @Override
 public void acaoCancelar() {
   Animacao.fadeInOutClose(formulario);
 }