public boolean verificaCampeonatoConcluido(Campeonato campeonato) { List<CorridaCampeonato> corridaCampeonatos = campeonato.getCorridaCampeonatos(); for (CorridaCampeonato corridaCampeonato : corridaCampeonatos) { if (corridaCampeonato.getTempoFim() == null) { return false; } } return true; }
private boolean verificaCampeonatoEmAberto(JogadorDadosSrv jogadorDadosSrv, Session session) { List campeonatos = controlePersistencia.pesquisaCampeonatos(jogadorDadosSrv, session); for (Iterator iterator = campeonatos.iterator(); iterator.hasNext(); ) { Campeonato campeonato = (Campeonato) iterator.next(); List<CorridaCampeonato> corridaCampeonatos = campeonato.getCorridaCampeonatos(); for (CorridaCampeonato corridaCampeonato : corridaCampeonatos) { if (corridaCampeonato.getTempoFim() == null || corridaCampeonato.getTempoFim() == 0) { return true; } } } return false; }
public void processaCorrida( long tempoInicio, long tempoFim, Map mapVoltasJogadoresOnline, List pilotos, DadosCriarJogo dadosCriarJogo, ControleClassificacao controleClassificacao) { String campString = dadosCriarJogo.getNomeCampeonato(); Session session = controlePersistencia.getSession(); try { Campeonato campeonato = controlePersistencia.pesquisaCampeonato(session, campString, false); if (campeonato == null) { Logger.logar("campeonato nulo"); return; } CorridaCampeonato corridaCampeonatoCorrente = null; for (CorridaCampeonato corridaCampeonato : campeonato.getCorridaCampeonatos()) { if (dadosCriarJogo.getCircuitoSelecionado().equals(corridaCampeonato.getNomeCircuito())) { corridaCampeonatoCorrente = corridaCampeonato; break; } } if (corridaCampeonatoCorrente == null) { Logger.logar("corridaCampeonatoCorrente nulo"); return; } corridaCampeonatoCorrente.setTempoInicio(tempoInicio); corridaCampeonatoCorrente.setTempoFim(tempoFim); for (Iterator iter = pilotos.iterator(); iter.hasNext(); ) { Piloto piloto = (Piloto) iter.next(); DadosCorridaCampeonato dadosCorridaCampeonato = new DadosCorridaCampeonato(); dadosCorridaCampeonato.setCorridaCampeonato(corridaCampeonatoCorrente); JogadorDadosSrv jogadorDadosSrv = controlePersistencia.carregaDadosJogador(piloto.getNomeJogador(), session); if (jogadorDadosSrv != null) { dadosCorridaCampeonato.setJogador(jogadorDadosSrv.getNome()); } dadosCorridaCampeonato.setPiloto(piloto.getNome()); dadosCorridaCampeonato.setCarro(piloto.getNomeCarro()); int pts = controleClassificacao.gerarPontos(piloto); dadosCorridaCampeonato.setPontos(pts); dadosCorridaCampeonato.setPosicao(piloto.getPosicao()); dadosCorridaCampeonato.setTpPneu(piloto.getCarro().getTipoPneu()); dadosCorridaCampeonato.setNumVoltas(piloto.getNumeroVolta()); Volta volta = piloto.obterVoltaMaisRapida(); if (volta != null) dadosCorridaCampeonato.setVoltaMaisRapida(volta.obterTempoVoltaFormatado()); dadosCorridaCampeonato.setQtdeParadasBox(piloto.getQtdeParadasBox()); dadosCorridaCampeonato.setDesgastePneus( String.valueOf(piloto.getCarro().porcentagemDesgastePeneus() + "%")); dadosCorridaCampeonato.setCombustivelRestante( String.valueOf(piloto.getCarro().porcentagemCombustivel() + "%")); dadosCorridaCampeonato.setDesgasteMotor( String.valueOf(piloto.getCarro().porcentagemDesgasteMotor() + "%")); corridaCampeonatoCorrente.getDadosCorridaCampeonatos().add(dadosCorridaCampeonato); } try { controlePersistencia.gravarDados(session, campeonato); } catch (Exception e) { Logger.topExecpts(e); } } finally { if (session.isOpen()) { session.close(); } } }