/* * O método recebe o indice e verifica se este se refere a uma posição válida, caso se refira exclui o objeto * no arquivo na posição solicitada. */ public boolean excluiMetaMensal(int indice) { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); if (indice < 0 || indice > arquivoMetaMensal.recordQuantity()) { arquivoMetaMensal.closeFile(); return false; } arquivoMetaMensal.excludeFileRecord(indice); arquivoMetaMensal.closeFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return true; } // excluiMetaMensal()
/** * Cadastra a meta mensal caso ela não esteja cadastrada no sistema. * * @param nomeCategoria <code>String</code> com o nome da categoria. * @param mesAno <code>Calendar</code> com o mês e ano da meta. * @param valor <code>String</code> com o valor da meta. * @param porcentagem <code>int</code> com a porcentagem da meta. * @return um <code>boolean</code> informando se a meta foi cadastrada com sucesso. */ public boolean cadastrarMetaMensal( String nomeCategoria, Calendar mesAno, String valor, int porcentagem) { ControleCategoria categoria = new ControleCategoria(); int indice = categoria.pesquisaCategoria(nomeCategoria); Categoria auxiliar = categoria.obtemCategoria(indice); if (!Validador.validaNumeroReal(FuncaoAuxiliar.converteVirgulaEmPonto(valor))) { showMessageDialog( igCadastrarMetaMensal, RotuloJanelaMetaMensal.VAZIO_INVALIDO.getDescricao(), RotuloJanelaMetaMensal.TITULO.getDescricao(), ERROR_MESSAGE); return false; } else { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); for (int posicao = 0; posicao < arquivoMetaMensal.recordQuantity(); posicao++) { MetaMensal meta = arquivoMetaMensal.readObject(); if (meta.getCodigo() == auxiliar.getCodigo()) if (FuncaoAuxiliar.coverteDataParaString(meta.getMesAnoMeta(), false) .equalsIgnoreCase(FuncaoAuxiliar.coverteDataParaString(mesAno, false))) { showMessageDialog( igCadastrarMetaMensal, RotuloJanelaMetaMensal.REPETIDO.getDescricao(), RotuloJanelaMetaMensal.TITULO.getDescricao(), ERROR_MESSAGE); arquivoMetaMensal.closeFile(); return false; } } // for() arquivoMetaMensal.closeFile(); } catch (IOException e) { e.printStackTrace(); } gravarMetaMensal( auxiliar.getCodigo(), mesAno, Double.parseDouble(FuncaoAuxiliar.converteVirgulaEmPonto(valor)), porcentagem); showMessageDialog( igCadastrarMetaMensal, RotuloJanelaMetaMensal.SALVO.getDescricao(), RotuloJanelaMetaMensal.TITULO.getDescricao(), INFORMATION_MESSAGE); return true; } } // cadastrarMetaMensal
/* * O método abre o arquivo, pesquisa todos os objetos salvos, comparando ao parâmetro recebido. Caso não localize * retorna 1, caso encontre, retorna a posição. */ public int pesquisaMetaMensal(int codigo) { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); for (int indice = 0; indice < arquivoMetaMensal.recordQuantity(); indice++) { arquivoMetaMensal.setFilePointer(indice); if (arquivoMetaMensal.readObject().getCodigo() == codigo) { arquivoMetaMensal.closeFile(); return indice; } } arquivoMetaMensal.closeFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return -1; } // pesquisaMetaMensal()
/* * O método recebe o indice para uma posição no arquivo e verifica se esta posição é válida, caso seja retorna o objeto * requisitado. */ public MetaMensal obtemMetaMensal(int indice) { MetaMensal metaMensal = null; try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); if (indice < 0 || indice > arquivoMetaMensal.recordQuantity()) { arquivoMetaMensal.closeFile(); return null; } arquivoMetaMensal.setFilePointer(indice); metaMensal = arquivoMetaMensal.readObject(); arquivoMetaMensal.closeFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return metaMensal; } // obtemMetaMensal()
/* * O método abre o arquivo para gravação, posiciona o ponteiro na ultima posição válida e grava o objeto. * Em seguida o arquivo é fechado. */ public void gravarMetaMensal(int codigo, Calendar data, double valor, int porcentagem) { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); arquivoMetaMensal.setFilePointer(arquivoMetaMensal.recordQuantity()); arquivoMetaMensal.writeObject(new MetaMensal(codigo, data, valor, porcentagem)); arquivoMetaMensal.closeFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } // gravarMetaMensal()
/** * informa o número de metas cadastradas. * * @return um <code>int</code> contendo o número da meta. */ public int retornaNumeroDeMetas() { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); int codigo = (int) arquivoMetaMensal.recordQuantity(); arquivoMetaMensal.closeFile(); return codigo; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return -1; }
/** * Pesquisa uma meta pelo código da categoria e pelo mês/Ano da mesma. * * @param codigo <code>int</code> da categoria. * @param data <code>Calendar</code> com o mês/ano da meta. * @return meta <code>MetaMensal</code> se encontrado.. */ public MetaMensal pesquisarMetaMensal(int codigo, Calendar data) { try { arquivoMetaMensal.openFile(CaminhoArquivo.META_MENSAL.getCaminho()); for (int posicao = 0; posicao < arquivoMetaMensal.recordQuantity(); posicao++) { MetaMensal meta = arquivoMetaMensal.readObject(); if (meta.getCodigo() == codigo) if (FuncaoAuxiliar.coverteDataParaString(meta.getMesAnoMeta(), false) .equalsIgnoreCase(FuncaoAuxiliar.coverteDataParaString(data, false))) { return meta; } } // for() arquivoMetaMensal.closeFile(); } catch (IOException e) { e.printStackTrace(); } return null; }