package is.idega.idegaweb.golf.service; import is.idega.idegaweb.golf.entity.Address; import is.idega.idegaweb.golf.entity.Family; import is.idega.idegaweb.golf.entity.Group; import is.idega.idegaweb.golf.entity.Member; import is.idega.idegaweb.golf.entity.MemberInfo; import is.idega.idegaweb.golf.entity.Phone; import is.idega.idegaweb.golf.entity.Union; import com.idega.data.IDOLookup; /** * Title: * Description: * Copyright: Copyright (c) 2000 * Company: * @author * @version 1.0 */ public class MemberInsertion{ private Member m_oMember; private Group[] m_oGroupArr; private Address[] m_oAddressArr; private Union m_oUnion; private Family m_oFamily; private Phone[] m_oPhoneArr; private MemberInfo m_oMemInfo; private String m_strMembershipType; private String[] m_strPhoneTypes; private String strActiveMember = "A"; public MemberInsertion(Member member, Address[] addressArr, Union union, Phone[] phoneArr, MemberInfo handicap, Group[] group){ m_oMember = member; m_oAddressArr = addressArr; m_oUnion = union; m_oGroupArr = group; m_oMemInfo = handicap; m_oPhoneArr = phoneArr; m_strMembershipType = "main"; m_strPhoneTypes = new String[]{"S�mi", "GSM", "Vinnus�mi"}; } public void setMembershipType(String mstype) { m_strMembershipType = mstype; } public void setPhoneTypes(String[] phoneTypes) { m_strPhoneTypes = phoneTypes; } public void setMemberStatus(String activeMember) { this.strActiveMember = activeMember; } public String insert() { int memberID = -1; if(m_oMember == null || m_oAddressArr == null || m_oUnion == null || m_oPhoneArr == null || m_oMemInfo == null) return "nullari"; try { m_oMember.setimage_id(1); m_oMember.insert(); memberID = m_oMember.getID(); m_oMember.addTo(m_oUnion, "MEMBERSHIP_TYPE", m_strMembershipType); m_oMember.addTo(m_oUnion, "ACTIVE_MEMBER", strActiveMember); for(int i = 0; i < m_oGroupArr.length; i++) { m_oMember.addTo(m_oGroupArr[i]); //m_oGroupArr[i].addTo(m_oMember); } for(int i = 0; i < m_oAddressArr.length; i++) { if(m_oAddressArr[i] != null && m_oAddressArr[i].getCountryId() != -1) { m_oAddressArr[i].insert(); m_oAddressArr[i].addTo(m_oMember); } } for(int i = 0; i < m_oPhoneArr.length; i++) { if(m_oPhoneArr[i] != null && m_oPhoneArr[i].getCountryId() != -1){ m_oPhoneArr[i].insert(); m_oPhoneArr[i].addTo(m_oMember); } } m_oMemInfo.setMemberId(memberID); m_oMemInfo.insert(); } catch(Exception e) { e.printStackTrace(System.err); return e.getMessage(); } return ""+memberID; } public String update() { if(m_oMember == null || m_oAddressArr == null || m_oUnion == null || m_oPhoneArr == null || m_oMemInfo == null) return "�skilgreint"; int counter = 0; try { m_oMember.update(); for(int i = 0; i < m_oGroupArr.length; i++) { m_oMember.addTo(m_oGroupArr[i]); } if(m_oAddressArr[0] != null) counter = m_oMember.getNumberOfRecordsReverseRelated((Address) IDOLookup.instanciateEntity(Address.class)); //System.out.println("\n\nAddress counter: "+counter+" Address array length: "+m_oPhoneArr.length+"\n\n"); for(int i = 0; i < m_oAddressArr.length; i++) { if(m_oAddressArr[i] != null && m_oAddressArr[i].getCountryId() != -1) { if(i > 2) break; else if(i < counter) { m_oAddressArr[i].update(); System.out.println("\n\nfer i Address update\n\n"); } else { m_oAddressArr[i].insert(); m_oAddressArr[i].addTo(m_oMember); System.out.println("\n\nfer i Address insert\n\n"); } } } counter = 0; if(m_oPhoneArr[0] != null) counter = m_oMember.getNumberOfRecordsReverseRelated((Phone) IDOLookup.instanciateEntity(Phone.class)); //counter = m_oPhoneArr[0].getNumberOfRecordsRelated(new Member()); System.out.println("\n\ncounter: "+counter+" array length: "+m_oPhoneArr.length+"\n\n"); for(int i = 0; i < m_oPhoneArr.length; i++) { System.out.println("\n\ncounter: "+counter+" array length: "+m_oPhoneArr.length+"\n\n"); if(m_oPhoneArr[i] != null && m_oPhoneArr[i].getCountryId() != -1){ if(i > 3) break; if(i < counter) { m_oPhoneArr[i].update(); System.out.println("\n\nfer i phone update\n\n"); } else { m_oPhoneArr[i].insert(); m_oPhoneArr[i].addTo(m_oMember); System.out.println("\n\nfer i phone insert\n\n"); } } } m_oMemInfo.update(); } catch(Exception e) { e.printStackTrace(System.err); return e.getMessage(); } return ""; } }