package is.idega.idegaweb.golf.service.member; import is.idega.idegaweb.golf.entity.Address; import is.idega.idegaweb.golf.entity.Country; import is.idega.idegaweb.golf.entity.Member; import is.idega.idegaweb.golf.entity.ZipCode; import java.io.IOException; import java.sql.SQLException; import java.util.Vector; import com.idega.data.IDOLookup; import com.idega.presentation.IWContext; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.TextInput; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */ public class AddressInsert extends EntityInsert{ private Address eAddress; private TextInput addressInput; private DropdownMenu zipDrop; private DropdownMenu countryDrop; private String addressName = "AddressInsert_address"; private String zipName = "AddressInsert_zipcode"; private String countryName = "AddressInsert_country"; private String addressValue = null; private String zipValue = null; private String countryValue = null; //private boolean bUpdate = false; private void init(){ setStyle(addressInput); setStyle(countryDrop); setStyle(zipDrop); } public AddressInsert() { this.bUpdate = false; this.eAddress = (Address) IDOLookup.createLegacy(Address.class); addressInput = new TextInput(addressName); countryDrop = countryDropDown(countryName, "1"); zipDrop = zipDropDown(zipName, "2"); init(); } public AddressInsert( String addressInputName, String countryDropDownName, String zipCodeDropDownName) { this.bUpdate = false; this.eAddress = (Address) IDOLookup.createLegacy(Address.class); addressName = addressInputName; countryName = countryDropDownName; zipName = zipCodeDropDownName; addressInput = new TextInput(addressName); countryDrop = countryDropDown(countryName, "1"); zipDrop = zipDropDown(zipName, "2"); init(); } public AddressInsert( Address address)throws java.sql.SQLException { this.eAddress = address; this.bUpdate = true; if(eAddress.getStreet() != null) addressInput = new TextInput(addressName, eAddress.getStreet()); else addressInput = new TextInput(addressName, ""); if(eAddress.getCountryId() != -1) countryDrop = countryDropDown(countryName, String.valueOf(eAddress.getCountryId())); else countryDrop = countryDropDown(countryName, "2"); zipDrop = zipDropDown(zipName, String.valueOf(eAddress.getZipcodeId())); init(); } public AddressInsert(Address address, String addressInputName, String countryDropDownName, String zipCodeDropDownName)throws java.sql.SQLException { this.eAddress = address; this.bUpdate = true; addressName = addressInputName; countryName = countryDropDownName; zipName = zipCodeDropDownName; if(address.getStreet() != null) addressInput = new TextInput(addressName, address.getStreet()); else addressInput = new TextInput(addressName, ""); if(address.getCountryId() != -1) countryDrop = countryDropDown(countryName, String.valueOf(address.getCountryId())); else countryDrop = countryDropDown(countryName, "2"); zipDrop = zipDropDown(zipName, String.valueOf(address.getZipcodeId())); init(); } private DropdownMenu countryDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); Country country = (Country) IDOLookup.instanciateEntity(Country.class); try { Country[] countryArr = (Country[]) country.findAll(); for(int i = 0; i < countryArr.length; i++) { drp.addMenuElement(countryArr[i].getID(), countryArr[i].getName()); } drp.setSelectedElement(selected); }catch(Exception e) { e.printStackTrace(); } return drp; } private DropdownMenu zipDropDown(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); ZipCode zip = (ZipCode) IDOLookup.instanciateEntity(ZipCode.class); try { ZipCode [] zipArr = (ZipCode[]) zip.findAllOrdered("code"); for(int i = 0; i < zipArr.length; i++) { drp.addMenuElement(zipArr[i].getID(), zipArr[i].getCode()+" "+zipArr[i].getCity()); } drp.setSelectedElement(selected); } catch(SQLException e) { e.printStackTrace(); } return drp; } public void setVariables(IWContext modinfo) { addressValue = getValue(modinfo,addressName); zipValue = getValue(modinfo,zipName); countryValue = getValue(modinfo,countryName); addressInput.keepStatusOnAction(); zipDrop.keepStatusOnAction(); countryDrop.keepStatusOnAction(); if (addressValue != null) { this.eAddress.setStreet(addressValue); } if (zipValue != null) { this.eAddress.setZipcodeId(new Integer(zipValue)); } if (countryValue != null) { this.eAddress.setCountryId(new Integer(countryValue)); } } public TextInput getInputAddress() { return addressInput; } public DropdownMenu getDropCountry() { return countryDrop; } public DropdownMenu getDropZipcode() { return zipDrop; } public boolean areSomeFieldsEmpty(IWContext modinfo) { return (isEmpty(modinfo,addressName) || isEmpty(modinfo,zipName) || isEmpty(modinfo,countryName)); } public boolean areNeededFieldsEmpty(IWContext modinfo) { return isEmpty(modinfo,addressName); } public Vector getEmptyFields() { Vector vec = new Vector(); if (isInvalid(addressValue)) { vec.addElement("Heimilisfang"); } if (isInvalid(countryValue)) { vec.addElement("Land"); } if (isInvalid(zipValue)) { vec.addElement("P�stn�mer"); } return vec; } public Vector getNeededEmptyFields(IWContext modinfo) { setVariables(modinfo); Vector vec = new Vector(); if (isInvalid(addressValue)) { vec.addElement("Heimilisfang"); } return vec; } public Address getAddress () { return this.eAddress; } public void store(IWContext modinfo)throws SQLException, IOException { setVariables(modinfo); if(addressValue == null) { return; } if(this.bUpdate) this.eAddress.update(); else this.eAddress.insert(); } /** If to link the address to a member*/ public void store(IWContext modinfo,Member member)throws SQLException, IOException { setVariables(modinfo); if(addressValue == null) { return; } if(this.bUpdate) { if((this.eAddress.getStreet() != null) && (! this.eAddress.getStreet().equals(""))) this.eAddress.update(); else { this.eAddress.removeFrom(member); this.eAddress.delete(); } } else if((this.eAddress.getStreet() != null) && (! this.eAddress.getStreet().equals("")) ){ this.eAddress.insert(); this.eAddress.addTo(member); } } }