/** * 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
/** * 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; }