public Object criarCampeonato(ClientPaddockPack clientPaddockPack) { if (clientPaddockPack.getSessaoCliente() == null) { return (new MsgSrv(Lang.msg("210"))); } Session session = controlePersistencia.getSession(); try { JogadorDadosSrv jogadorDadosSrv = controlePersistencia.carregaDadosJogador( clientPaddockPack.getSessaoCliente().getNomeJogador(), session); if (jogadorDadosSrv == null) { return (new MsgSrv(Lang.msg("238"))); } Campeonato campeonato = (Campeonato) clientPaddockPack.getDataObject(); if (verifircaNomeCampeonato(campeonato, session)) { return (new MsgSrv(Lang.msg("nomeCampeonatoNaoDisponivel"))); } if (verificaCampeonatoEmAberto(jogadorDadosSrv, session)) { return (new MsgSrv(Lang.msg("jogadorTemCampeonatoEmAberto"))); } campeonato.setJogadorDadosSrv(jogadorDadosSrv); try { controlePersistencia.gravarDados(session, campeonato); } catch (Exception e) { return new ErroServ(e); } return (new MsgSrv(Lang.msg("campeonatoCriado"))); } finally { if (session.isOpen()) session.close(); } }
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; }
private boolean verifircaNomeCampeonato(Campeonato campeonato, Session session) { String nome = campeonato.getNome(); if (Util.isNullOrEmpty(nome)) { return true; } Campeonato campeonatoBanco = controlePersistencia.pesquisaCampeonato(session, nome, false); return campeonatoBanco != null; }
public boolean verificaCampeonatoConcluido(Campeonato campeonato) { List<CorridaCampeonato> corridaCampeonatos = campeonato.getCorridaCampeonatos(); for (CorridaCampeonato corridaCampeonato : corridaCampeonatos) { if (corridaCampeonato.getTempoFim() == null) { return false; } } return true; }
public Object listarCampeonatos() { Session session = controlePersistencia.getSession(); try { List<Campeonato> campeonatos = controlePersistencia.obterListaCampeonatos(session); List retorno = new ArrayList(); for (Iterator iterator = campeonatos.iterator(); iterator.hasNext(); ) { Campeonato campeonato = (Campeonato) iterator.next(); Object[] row = new Object[4]; row[0] = campeonato.getNome(); row[1] = campeonato.getJogadorDadosSrv().getNome(); row[2] = verificaCampeonatoConcluido(campeonato); row[3] = campeonato.getDataCriacao(); retorno.add(row); } return retorno; } finally { if (session.isOpen()) { session.close(); } } }
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(); } } }