/* * Created on 3.3.2004 */ package is.idega.idegaweb.golf.handicap.presentation; import com.idega.data.IDOLookup; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.Table; 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.RadioButton; import com.idega.presentation.ui.SubmitButton; import com.idega.presentation.ui.TextInput; import com.idega.presentation.text.Text; import is.idega.idegaweb.golf.UpdateHandicap; import is.idega.idegaweb.golf.entity.MemberInfo; import is.idega.idegaweb.golf.entity.MemberInfoHome; import is.idega.idegaweb.golf.entity.Scorecard; import is.idega.idegaweb.golf.presentation.GolfBlock; import is.idega.idegaweb.golf.templates.page.GolfWindow; import com.idega.util.IWCalendar; import com.idega.util.IWTimestamp; /** * @author laddi */ public class HandicapUpdate extends GolfWindow { public HandicapUpdate() { setWidth(400); setHeight(320); setTitle("Handicap update"); add(new Update()); } public class Update extends GolfBlock { public void main(IWContext modinfo) throws Exception { IWResourceBundle iwrb = getResourceBundle(); getParentPage().setTitle(iwrb.getLocalizedString("handicap.update_handicap", "Update handicap")); addHeading(iwrb.getLocalizedString("handicap.update_handicap", "Update handicap")); String mode = modinfo.getParameter("mode"); if (mode == null) { mode = ""; } String action = modinfo.getParameter("action"); if (action == null) { action = ""; } String action2 = modinfo.getParameter("action2"); if (action2 == null) { action2 = "select_date"; } float handicap = 100; String handicapString = modinfo.getParameter("handicap"); if (handicapString != null && handicapString.length() > 0) { if (handicapString.indexOf(",") != -1) { handicapString = handicapString.replace(',', '.'); } handicap = Float.parseFloat(handicapString); } String member_id = modinfo.getParameter("member_id"); if (mode.equals("")) { Table myTable = new Table(2, 5); myTable.mergeCells(1, 1, 2, 1); myTable.mergeCells(1, 2, 2, 2); myTable.mergeCells(1, 3, 2, 3); myTable.mergeCells(1, 4, 2, 4); myTable.setCellpadding(5); myTable.setAlignment("center"); myTable.setAlignment(1, 2, "center"); Form myForm = new Form(); myForm.add(new HiddenInput("member_id", member_id)); myForm.add(new HiddenInput("mode", "submit")); RadioButton update = getRadioButton("action", "update"); update.setSelected(); RadioButton correction = getRadioButton("action", "correct"); myTable.add(getHeader(iwrb.getLocalizedString("handicap.enter_handicap", "Enter handicap") + ":"), 1, 1); myTable.add(getStyledInterface(new TextInput("handicap")), 1, 2); myTable.add(update, 1, 3); myTable.add(getHeader(iwrb.getLocalizedString("handicap.change_first_handicap", "Change first handicap")), 1, 3); myTable.add(correction, 1, 4); myTable.add(getHeader(iwrb.getLocalizedString("handicap.correct_handicap", "Correct handicap")), 1, 4); myTable.add(getButton(new CloseButton(iwrb.getLocalizedString("handicap.back", "Back"))), 1, 5); myTable.add(getButton(new SubmitButton(iwrb.getLocalizedString("handicap.confirm", "Confirm"))), 2, 5); myForm.add(myTable); add(Text.getBreak()); add(myForm); } if (mode.equals("submit")) { MemberInfo[] memberInfo = (MemberInfo[]) ((MemberInfo) IDOLookup.instanciateEntity(MemberInfo.class)).findAllByColumnEquals("member_id", member_id); if (action.equalsIgnoreCase("update")) { if (memberInfo.length > 0) { Scorecard[] scorecard = (Scorecard[]) ((Scorecard) IDOLookup.instanciateEntity(Scorecard.class)).findAllByColumnEquals("member_id", member_id); if ((scorecard == null) || (scorecard.length == 0)) { memberInfo[0].setHandicap(handicap); } memberInfo[0].setFirstHandicap(handicap); memberInfo[0].update(); } else { MemberInfo memberInfo2 = ((MemberInfoHome) IDOLookup.getHomeLegacy(MemberInfo.class)).findByPrimaryKey(Integer.parseInt(member_id)); memberInfo2.setFirstHandicap(handicap); memberInfo2.setHandicap(handicap); memberInfo2.insert(); } UpdateHandicap.update(Integer.parseInt(member_id)); getParentPage().setParentToReload(); getParentPage().close(); } else if (action.equalsIgnoreCase("correct")) { if (action2.equalsIgnoreCase("select_date")) { Table myTable = new Table(); myTable.mergeCells(1, 1, 2, 1); myTable.mergeCells(1, 2, 2, 2); myTable.setCellpadding(5); myTable.setAlignment("center"); myTable.setAlignment(1, 2, "center"); myTable.setAlignment(2, 3, "right"); Form myForm = new Form(); myForm.add(new HiddenInput("member_id", member_id)); myForm.add(new HiddenInput("mode", "submit")); myForm.add(new HiddenInput("action", "correct")); myForm.add(new HiddenInput("action2", "save")); myForm.add(new HiddenInput("handicap", handicapString)); myTable.add(getHeader(iwrb.getLocalizedString("handicap.select_date_of_correction", "Select date of correction") + ":"), 1, 1); myTable.add(getButton(new CloseButton(iwrb.getLocalizedString("handicap.back", "Back"))), 1, 3); myTable.add(getButton(new SubmitButton(iwrb.getLocalizedString("handicap.confirm", "Confirm"))), 2, 3); IWCalendar dagatal = new IWCalendar(); String month = String.valueOf(dagatal.getMonth()); String year = String.valueOf(dagatal.getYear()); String day = String.valueOf(dagatal.getDay()); DropdownMenu select_month = (DropdownMenu) getStyledInterface(new DropdownMenu("month")); for (int m = 1; m <= 12; m++) { select_month.addMenuElement(String.valueOf(m), dagatal.getMonthName(m).toLowerCase()); } select_month.setSelectedElement(month); DropdownMenu select_year = (DropdownMenu) getStyledInterface(new DropdownMenu("year")); for (int y = 2000; y <= dagatal.getYear(); y++) { select_year.addMenuElement(String.valueOf(y), String.valueOf(y)); } select_year.setSelectedElement(year); DropdownMenu select_day = (DropdownMenu) getStyledInterface(new DropdownMenu("day")); for (int d = 1; d <= 31; d++) { select_day.addMenuElement(String.valueOf(d), String.valueOf(d) + "."); } select_day.setSelectedElement(day); myTable.add(select_day, 1, 2); myTable.add(select_month, 1, 2); myTable.add(select_year, 1, 2); myForm.add(myTable); add(new Text().getBreak()); add(myForm); } else if (action2.equalsIgnoreCase("save")) { String year = modinfo.getParameter("year"); String month = modinfo.getParameter("month"); String day = modinfo.getParameter("day"); IWTimestamp stampur = new IWTimestamp(); stampur.setDay(Integer.parseInt(day)); stampur.setMonth(Integer.parseInt(month) - 1); stampur.setYear(Integer.parseInt(year)); Scorecard scoreCard = (Scorecard) IDOLookup.createLegacy(Scorecard.class); scoreCard.setMemberId(Integer.parseInt(member_id)); scoreCard.setTournamentRoundId(1); scoreCard.setScorecardDate(stampur.getTimestamp()); scoreCard.setTotalPoints(0); scoreCard.setHandicapBefore(memberInfo[0].getHandicap()); scoreCard.setHandicapAfter(handicap); scoreCard.setSlope(0); scoreCard.setCourseRating(0); scoreCard.setTeeColorID(0); scoreCard.setFieldID(0); scoreCard.setHandicapCorrection(true); scoreCard.insert(); memberInfo[0].setHandicap(handicap); memberInfo[0].update(); UpdateHandicap.update(Integer.parseInt(member_id), stampur); getParentPage().setParentToReload(); getParentPage().close(); } } } } } }