public void salvarInfracao(Infracao inf) throws ExcecaoPlacaInexistente, ExcecaoDataInfCondIdadeImpropria, ExcecaoDataInfMenorAnoFabVei { if (banco.getVeiculoComPlaca(inf.getPlaca()) == null) throw new ExcecaoPlacaInexistente(); if (ManipuladorData.calculeDiferencaDeAnos( inf.getDataInf(), this.getCondutorComCpf(this.getVeiculoComPlaca(inf.getPlaca()).getCpfDono()) .getDataNasc()) < 18) throw new ExcecaoDataInfCondIdadeImpropria(); int anoFabVeiculo = this.retorneAnoFabVei(inf.getPlaca()); int anoInf = ManipuladorData.getAnoDeData(inf.getDataInf()); if (anoFabVeiculo > anoInf) throw new ExcecaoDataInfMenorAnoFabVei(); banco.addInfracao(inf); }
public void salvarCondutor(Condutor cond) throws ExcecaoCPFExistente, ExcecaoIdadeImpropriaParaCondutor { Condutor condutor = banco.getCondutorComCpf(cond.getCPF()); if (condutor != null) throw new ExcecaoCPFExistente(); if (ManipuladorData.calculeDiferencaDeAnos(new Date(), cond.getDataNasc()) < 18) throw new ExcecaoIdadeImpropriaParaCondutor(); banco.addCondutor(cond); }
public Object[] monteDadosInf(Infracao inf) { Object[] s = new Object[5]; Condutor cond = banco.getCondutorComCpf(banco.getVeiculoComPlaca(inf.getPlaca()).getCpfDono()); s[0] = (inf.getNumInfracao()); s[1] = FormataPlaca.coloqueMascara(inf.getPlaca()); s[2] = ManipuladorData.format(inf.getDataInf()); s[3] = FormataCPF.formatCpf(cond.getCPF()); s[4] = cond.getNome(); return s; }
public Collection<Condutor> getCondutoresComDataIncompleta(String data) throws ExcecaoPesquisaSemResultado { Collection<Condutor> conds = new ArrayList<Condutor>(getCondutores()); Collection<Condutor> condutores = new LinkedList<Condutor>(); for (Condutor c : conds) { if (ManipuladorData.getDataComoString(c.getDataNasc()).contains(data)) condutores.add(c); } if (condutores.isEmpty()) throw new ExcecaoPesquisaSemResultado(); return condutores; }