package is.idega.idegaweb.golf.service.member; import is.idega.idegaweb.golf.entity.Member; import java.sql.SQLException; import java.util.Vector; import com.idega.data.IDOLookup; import com.idega.presentation.IWContext; import com.idega.presentation.Table; import com.idega.presentation.ui.BorderTable; import com.idega.presentation.ui.DropdownMenu; import com.idega.presentation.ui.TextInput; import com.idega.util.text.Name; import com.idega.util.text.SocialSecurityNumber; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */ public class MemberInsert extends EntityInsert { private Member eMember; private TextInput inputSocial; private TextInput inputName; private TextInput inputEmail; private TextInput inputJob; private TextInput inputWorkPlace; private DropdownMenu dropGender; private final String inputSocialName = "MemberInsert_sociasecuritynumber"; private final String inputNameName = "MemberInsert_name"; private final String inputEmailName = "MemberInsert_email"; private final String inputJobName = "MemberInsert_job"; private final String inputWorkPlaceName = "MemberInsert_workplace"; private final String dropGenderName = "MemberInsert_gender"; private String inputSocialValue; private String inputNameValue; private String inputEmailValue; private String inputJobValue; private String inputWorkPlaceValue; private String dropGenderValue; public boolean debug = true; public MemberInsert() throws java.sql.SQLException{ bUpdate = false; eMember = (Member) IDOLookup.createLegacy(Member.class); if(debug) { eMember.setDefaultValues(); } inputSocial = new TextInput(inputSocialName); inputName = new TextInput(inputNameName); inputName.setAsNotEmpty("Vinsamelgast settu nafn"); inputSocial.setAsNotEmpty("Vinsamelgast settu Kennit�lu"); inputEmail = new TextInput(inputEmailName); inputJob = new TextInput(inputJobName); inputWorkPlace = new TextInput(inputWorkPlaceName); dropGender = genderDrop(dropGenderName, "M"); init(); } public MemberInsert(Member eMember)throws SQLException { bUpdate = true; this.eMember = eMember; if(eMember.getSocialSecurityNumber() != null) inputSocial = new TextInput(inputSocialName, eMember.getSocialSecurityNumber()); else inputSocial = new TextInput(inputSocialName); if(eMember.getName() != null) inputName = new TextInput(inputNameName, eMember.getName()); else inputName = new TextInput(inputNameName); if(eMember.getEmail() != null) inputEmail = new TextInput(inputEmailName, eMember.getEmail()); else inputEmail = new TextInput(inputEmailName); if(eMember.getJob() != null) inputJob = new TextInput(inputJobName, eMember.getJob()); else inputJob = new TextInput(inputJobName); if(eMember.getWorkPlace() != null) inputWorkPlace = new TextInput(inputWorkPlaceName, eMember.getWorkPlace()); else inputWorkPlace = new TextInput(inputWorkPlaceName); if(eMember.getGender() != null) dropGender = genderDrop(dropGenderName, eMember.getGender()); else dropGender = genderDrop(dropGenderName, "M"); inputName.setAsNotEmpty("Vinsamelgast settu nafn"); init(); } private void init(){ setStyle(inputSocial); setStyle(inputName); setStyle(inputName); setStyle(inputSocial); setStyle(inputEmail); setStyle(inputJob); setStyle(inputWorkPlace); setStyle(dropGender); } public TextInput getInputSocialSecurityNumber() { return this.inputSocial; } public TextInput getInputMemberName() { return this.inputName; } public TextInput getInputEmail() { return this.inputEmail; } public TextInput getInputJob() { return this.inputJob; } public TextInput getInputWorkPlace() { return this.inputWorkPlace; } public DropdownMenu getDropdownGender() { return dropGender; } public Vector getEmptyFields() { Vector vec = new Vector(); if ( isInvalid(inputSocialValue)) { vec.addElement("Kennit�lu"); } else if(! SocialSecurityNumber.isValidIcelandicSocialSecurityNumber(inputSocialValue)) { vec.addElement("Kennitala er ekki r�tt"); } if ( isInvalid(inputNameValue)) { vec.addElement("Nafn"); } else { Name name = new Name(inputNameValue); if(name.getLastName().equals("")) vec.addElement("Eftirnafn"); } if ( isInvalid(inputEmailValue)) { vec.addElement("Netfang"); } if ( isInvalid(inputJobValue)) { vec.addElement("Starfsheiti"); } if ( isInvalid(inputWorkPlaceValue)) { vec.addElement("Vinnusta�ur"); } if ( isInvalid(dropGenderValue)) { vec.addElement("Kyn"); } return vec; } public Vector getNeededEmptyFields(IWContext modinfo) { setVariables(modinfo); Vector vec = new Vector(); if ( isInvalid(inputSocialValue)) { vec.addElement("Kennit�lu"); } else if(! SocialSecurityNumber.isValidIcelandicSocialSecurityNumber(inputSocialValue)) { vec.addElement("Kennitala er ekki r�tt"); } if ( isInvalid(inputNameValue)) { vec.addElement("Nafn"); } if ( isInvalid(dropGenderValue)) { vec.addElement("Kyn"); } return vec; } public boolean areSomeFieldsEmpty(IWContext modinfo) { return (getEmptyFields().size() > 0); } public Member getMember() { return this.eMember; } public boolean areNeededFieldsEmpty(IWContext modinfo) { return (getNeededEmptyFields(modinfo).size() > 0); } //precondition Have to call getNetedEmptyFields() !!! public void store(IWContext modinfo) throws java.io.IOException, java.sql.SQLException { if(isUpdate()) eMember.update(); else eMember.insert(); } public BorderTable getInputTable() { BorderTable hTable = new BorderTable(); Table table = new Table(2, 6); hTable.add(table); table.add(formatText("Nafn"), 1, 1); table.add(formatText("Kennitala"), 1, 2); table.add(formatText("Kyn"), 1, 3); table.add(formatText("Netfang"), 1, 4); table.add(formatText("Starf"), 1, 5); table.add(formatText("Vinna"), 1, 6); table.add(getInputMemberName(), 2, 1); table.add(getInputSocialSecurityNumber(), 2, 2); table.add(getDropdownGender(), 2, 3); table.add(getInputEmail(), 2, 4); table.add(getInputJob(), 2, 5); table.add(getInputWorkPlace(), 2, 6); return hTable; } public void setVariables(IWContext modinfo) { inputSocialValue = getValue(modinfo,inputSocialName); inputNameValue = getValue(modinfo,inputNameName); inputEmailValue = getValue(modinfo,inputEmailName); inputJobValue = getValue(modinfo,inputJobName); inputWorkPlaceValue = getValue(modinfo,inputWorkPlaceName); dropGenderValue = getValue(modinfo,dropGenderName); setEntity(); } private void setEntity() { if (! isInvalid(inputSocialValue)) { if(SocialSecurityNumber.isValidIcelandicSocialSecurityNumber(inputSocialValue)) { eMember.setSocialSecurityNumber(inputSocialValue); eMember.setDateOfBirth(SocialSecurityNumber.getDateFromSocialSecurityNumber(inputSocialValue)); } } if (! isInvalid(inputNameValue)) { Name name = new Name(inputNameValue); eMember.setFirstName(name.getFirstName()); eMember.setMiddleName(name.getMiddleName()); eMember.setLastName(name.getLastName()); } if (inputEmailValue != null) { eMember.setEmail(inputEmailValue); } if (inputJobValue != null) { eMember.setJob(inputJobValue); } if (inputWorkPlaceValue != null) { eMember.setWorkPlace(inputWorkPlaceValue); } if (dropGenderValue != null) { eMember.setGender(dropGenderValue); } } public DropdownMenu genderDrop(String name, String selected) { DropdownMenu drp = new DropdownMenu(name); drp.addMenuElement("M", "KK"); drp.addMenuElement("F", "KVK"); drp.setSelectedElement(selected); return drp; } }