@Check("isClient") public static void validPosition() { Session session = Session.getSessionById(Long.parseLong(params.get("session_id"))); String result = params.get("positionSession"); Client client = Client.getClientByUsername(Security.connected()); Calendar calendar1 = new GregorianCalendar(); calendar1.setTime(session.dateDepart); Calendar calendar2 = new GregorianCalendar(); calendar2.setTime(session.dateFin); int nbrH = (int) calendar2.get(Calendar.HOUR) - calendar1.get(Calendar.HOUR); boolean alreadyPosition = false; for (Session s : client.sessions) { if (s.id == session.id) { alreadyPosition = true; } } if (result.equals("true")) { if (!alreadyPosition) { client.sessions.add(session); switch (session.typeProduit) { case CirculationMoto: client.heureCirculationMoto -= nbrH; break; case CirculationScooter125: client.heureCirculationScooter -= nbrH; break; case CirculationScooter50: client.heureCirculationScooter -= nbrH; break; case CirculationVoiture: client.heureCirculationVoiture -= nbrH; break; case EvaluationAuto: client.heureEvaluationAuto -= nbrH; break; case PlateauMoto: client.heurePlateauMoto -= nbrH; break; case PlateauScooter125: client.heurePlateauScooter -= nbrH; break; case PlateauScooter50: client.heurePlateauScooter -= nbrH; break; case PlateauScooterMP3: client.heurePlateauScooter -= nbrH; break; case PlateauVoiture: client.heurePlateauVoiture -= nbrH; break; case Stage1: client.heureStage1 -= nbrH; break; case Stage2: client.heureStage2 -= nbrH; break; case Stage3: client.heureStage3 -= nbrH; break; case Code: client.heureCode -= nbrH; break; } } } else { if (alreadyPosition) { client.sessions.remove(session); switch (session.typeProduit) { case CirculationMoto: client.heureCirculationMoto += nbrH; break; case CirculationScooter125: client.heureCirculationScooter += nbrH; break; case CirculationScooter50: client.heureCirculationScooter += nbrH; break; case CirculationVoiture: client.heureCirculationVoiture += nbrH; break; case EvaluationAuto: client.heureEvaluationAuto += nbrH; break; case PlateauMoto: client.heurePlateauMoto += nbrH; break; case PlateauScooter125: client.heurePlateauScooter += nbrH; break; case PlateauScooter50: client.heurePlateauScooter += nbrH; break; case PlateauScooterMP3: client.heurePlateauScooter += nbrH; break; case PlateauVoiture: client.heurePlateauVoiture += nbrH; break; case Stage1: client.heureStage1 += nbrH; break; case Stage2: client.heureStage2 += nbrH; break; case Stage3: client.heureStage3 += nbrH; break; case Code: client.heureCode += nbrH; break; } } } client.save(); Sessions.showSessions(); }