/* * Created on 5.3.2004 */ package is.idega.idegaweb.golf.tournament.presentation; import is.idega.idegaweb.golf.UpdateHandicap; import is.idega.idegaweb.golf.entity.Member; import is.idega.idegaweb.golf.entity.MemberHome; import is.idega.idegaweb.golf.entity.Scorecard; import is.idega.idegaweb.golf.entity.Tee; import is.idega.idegaweb.golf.entity.Tournament; import is.idega.idegaweb.golf.entity.TournamentGroup; import is.idega.idegaweb.golf.entity.TournamentGroupHome; import is.idega.idegaweb.golf.entity.TournamentHome; import is.idega.idegaweb.golf.presentation.GolfBlock; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import com.idega.data.IDOLookup; import com.idega.presentation.IWContext; import com.idega.presentation.Table; import com.idega.presentation.text.Text; import com.idega.presentation.ui.CloseButton; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.Form; import com.idega.presentation.ui.HiddenInput; import com.idega.presentation.ui.SubmitButton; import com.idega.util.IWTimestamp; /** * @author gimmi */ public class ChangeGroup extends GolfBlock { public void main(IWContext modinfo) throws Exception { String mode = modinfo.getParameter("mode"); if (mode == null) { mode = ""; } String tournament_id = modinfo.getParameter("tournament_id"); String member_id = modinfo.getParameter("member_id"); Tournament tournament = ((TournamentHome) IDOLookup.getHomeLegacy(Tournament.class)).findByPrimaryKey(Integer.parseInt(tournament_id)); Member member = ((MemberHome) IDOLookup.getHomeLegacy(Member.class)).findByPrimaryKey(Integer.parseInt(member_id)); if (mode.equals("")) { Table myTable = new Table(2, 3); myTable.mergeCells(1, 1, 2, 1); myTable.mergeCells(1, 2, 2, 2); myTable.setAlignment("center"); myTable.setAlignment(1, 2, "center"); Form myForm = new Form(); myForm.add(new HiddenInput("tournament_id", tournament_id)); myForm.add(new HiddenInput("member_id", member_id)); myForm.add(new HiddenInput("mode", "submit")); DropdownMenu menu = new DropdownMenu(getTournamentBusiness(modinfo).getTournamentGroups(member, tournament)); menu.setSelectedElement("" + tournament.getTournamentGroupId(member)); myTable.addText(localize("tournament.choose_group","Choose group")+":", 1, 1); myTable.add(menu, 1, 2); myTable.add(new SubmitButton(localize("tournament.confirm","Confirm")), 2, 3); myTable.add(new CloseButton(localize("tournament.cancel","Cancel")), 1, 3); myForm.add(myTable); Text breakText = new Text("<br>"); add(breakText); add(myForm); } else if (mode.equals("submit")) { String tournament_group_id = modinfo.getParameter("tournament_group"); TournamentGroup tGroup = ((TournamentGroupHome) IDOLookup.getHomeLegacy(TournamentGroup.class)).findByPrimaryKey(Integer.parseInt(tournament_group_id)); Tee[] tee = (Tee[]) ((Tee) IDOLookup.instanciateEntity(Tee.class)).findAll("select distinct slope,course_rating from tee where field_id = " + tournament.getFieldId() + " and tee_color_id = " + tGroup.getTeeColorID()); if (tee.length > 0) { int newSlope = tee[0].getSlope(); float newCR = tee[0].getCourseRating(); int teeColorID = tGroup.getTeeColorID(); IWTimestamp stampur; int errorChecker = 0; Scorecard[] scorecards = (Scorecard[]) ((Scorecard) IDOLookup.instanciateEntity(Scorecard.class)).findAll("select s.* from scorecard s, tournament_round tr, tournament t where t.tournament_id = " + tournament.getID() + " and tr.tournament_id = t.tournament_id and tr.tournament_round_id = s.tournament_round_id and s.member_id = " + member.getID() + ""); for (int i = 0; i < scorecards.length; i++) { errorChecker = setTournamentGroupId(tournament, member, tGroup.getID()); if (errorChecker == 1) { scorecards[i].setSlope(newSlope); scorecards[i].setCourseRating(newCR); scorecards[i].setTeeColorID(teeColorID); stampur = new IWTimestamp(); if (scorecards[i].getScorecardDate() != null) { stampur = new IWTimestamp(scorecards[i].getScorecardDate()); } else { stampur = new IWTimestamp(tournament.getStartTime()); stampur.addDays(-2); } scorecards[i].update(); UpdateHandicap.update(scorecards[i].getMemberId()); } else { } } } getParentPage().setParentToReload(); getParentPage().close(); } } public int setTournamentGroupId(Tournament tournament, Member member, int tournament_group_id) throws SQLException { Connection conn = null; Statement Stmt = null; int returner = 1; try { conn = tournament.getConnection(); Stmt = conn.createStatement(); returner = Stmt.executeUpdate("UPDATE tournament_member set TOURNAMENT_GROUP_ID = " + tournament_group_id + " where TOURNAMENT_ID = " + tournament.getID() + " AND MEMBER_ID =" + member.getID()); } finally { if (Stmt != null) { Stmt.close(); } if (conn != null) { freeConnection(conn); } } return returner; } }