// Path: src/java/is/idega/idegaweb/egov/citizen/data/AccountApplication.java
// public interface AccountApplication extends com.idega.block.process.data.Case
// {
//  public void setEmail(java.lang.String p0);
//  public java.lang.String getEmail();
//  public void setApplicantName(java.lang.String p0);
//  public java.lang.String getApplicantName();
// }
// 
// Path: src/java/is/idega/idegaweb/egov/citizen/data/CitizenAccount.java
// public interface CitizenAccount extends IDOEntity, AccountApplication, Case {
// 
// 	String getCaseCodeDescription();
// 
// 	String getCaseCodeKey();
// 
// 	String getApplicantName();
// 
// 	String getSsn();
// 
// 	String getEmail();
// 
// 	String getPhoneHome();
// 
// 	String getPhoneWork();
// 
// 	String getCareOf();
// 
// 	String getStreet();
// 
// 	String getZipCode();
// 
// 	String getCity();
// 
// 	String getCivilStatus();
// 
// 	boolean hasCohabitant();
// 
// 	int getChildrenCount();
// 
// 	String getApplicationReason();
// 
// 	void setApplicantName(String name);
// 
// 	void setSsn(String ssn);
// 
// 	void setEmail(String email);
// 
// 	void setPhoneHome(String phoneHome);
// 
// 	void setPhoneWork(String phoneWork);
// 
// 	void setCareOf(String careOf);
// 
// 	void setStreet(String street);
// 
// 	void setZipCode(String zipCode);
// 
// 	void setCity(String city);
// 
// 	void setCivilStatus(String civilStatus);
// 
// 	void setHasCohabitant(boolean hasCohabitant);
// 
// 	void setChildrenCount(int childrenCount);
// 
// 	void setApplicationReason(String applicationReason);
// }
// 
// Path: src/java/is/idega/idegaweb/egov/citizen/data/CitizenAccountHome.java
// public interface CitizenAccountHome extends IDOHome {
// 
// 	public CitizenAccount create() throws javax.ejb.CreateException;
// 
// 	public CitizenAccount findByPrimaryKey(Object pk) throws javax.ejb.FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbFindAllCasesByStatus
// 	 */
// 	public Collection findAllCasesByStatus(CaseStatus caseStatus) throws FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbFindAllCasesByStatus
// 	 */
// 	public Collection findAllCasesByStatus(String caseStatus) throws FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbHomeGetTotalCount
// 	 */
// 	public int getTotalCount() throws IDOException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbHomeGetCount
// 	 */
// 	public int getCount(String personalID, String status) throws IDOException;
// }


import is.idega.idegaweb.egov.citizen.data.AccountApplication;
import is.idega.idegaweb.egov.citizen.data.CitizenAccount;
import is.idega.idegaweb.egov.citizen.data.CitizenAccountHome;
import is.idega.idegaweb.egov.message.business.CommuneMessageBusiness;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import com.idega.business.IBORuntimeException;
import com.idega.core.accesscontrol.business.UserHasLoginException;
import com.idega.core.accesscontrol.data.LoginInfo;
import com.idega.core.accesscontrol.data.LoginInfoHome;
import com.idega.core.accesscontrol.data.LoginTable;
import com.idega.data.IDOException;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.idegaweb.IWUserContext;
import com.idega.presentation.IWContext;
import com.idega.user.data.User;
import com.idega.user.data.UserHome;
import com.idega.util.CoreConstants;
import com.idega.util.CoreUtil;
import com.idega.util.Encrypter;
import com.idega.util.StringHandler;
import com.idega.util.StringUtil;
		try {
			StringBuffer userSsn = new StringBuffer(ssn);
			int i = ssn.indexOf('-');
			if (i != -1) {
				userSsn.deleteCharAt(i);
				ssn = userSsn.toString();
			}

			user = ((UserHome) IDOLookup.getHome(User.class)).findByPersonalID(userSsn.toString());
		}
		catch (RemoteException e) {
			return null;
		}
		catch (FinderException e) {
			if (ssn.length() == 10) {
				StringBuffer userSsn = new StringBuffer("20");
				userSsn.append(ssn);
				try {
					user = ((UserHome) IDOLookup.getHome(User.class)).findByPersonalID(userSsn.toString());
				}
				catch (Exception ex) {
					return null;
				}
			}
		}

		return user;
	}

	@Override
// Path: src/java/is/idega/idegaweb/egov/citizen/data/AccountApplication.java
// public interface AccountApplication extends com.idega.block.process.data.Case
// {
//  public void setEmail(java.lang.String p0);
//  public java.lang.String getEmail();
//  public void setApplicantName(java.lang.String p0);
//  public java.lang.String getApplicantName();
// }
// 
// Path: src/java/is/idega/idegaweb/egov/citizen/data/CitizenAccount.java
// public interface CitizenAccount extends IDOEntity, AccountApplication, Case {
// 
// 	String getCaseCodeDescription();
// 
// 	String getCaseCodeKey();
// 
// 	String getApplicantName();
// 
// 	String getSsn();
// 
// 	String getEmail();
// 
// 	String getPhoneHome();
// 
// 	String getPhoneWork();
// 
// 	String getCareOf();
// 
// 	String getStreet();
// 
// 	String getZipCode();
// 
// 	String getCity();
// 
// 	String getCivilStatus();
// 
// 	boolean hasCohabitant();
// 
// 	int getChildrenCount();
// 
// 	String getApplicationReason();
// 
// 	void setApplicantName(String name);
// 
// 	void setSsn(String ssn);
// 
// 	void setEmail(String email);
// 
// 	void setPhoneHome(String phoneHome);
// 
// 	void setPhoneWork(String phoneWork);
// 
// 	void setCareOf(String careOf);
// 
// 	void setStreet(String street);
// 
// 	void setZipCode(String zipCode);
// 
// 	void setCity(String city);
// 
// 	void setCivilStatus(String civilStatus);
// 
// 	void setHasCohabitant(boolean hasCohabitant);
// 
// 	void setChildrenCount(int childrenCount);
// 
// 	void setApplicationReason(String applicationReason);
// }
// 
// Path: src/java/is/idega/idegaweb/egov/citizen/data/CitizenAccountHome.java
// public interface CitizenAccountHome extends IDOHome {
// 
// 	public CitizenAccount create() throws javax.ejb.CreateException;
// 
// 	public CitizenAccount findByPrimaryKey(Object pk) throws javax.ejb.FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbFindAllCasesByStatus
// 	 */
// 	public Collection findAllCasesByStatus(CaseStatus caseStatus) throws FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbFindAllCasesByStatus
// 	 */
// 	public Collection findAllCasesByStatus(String caseStatus) throws FinderException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbHomeGetTotalCount
// 	 */
// 	public int getTotalCount() throws IDOException;
// 
// 	/**
// 	 * @see se.idega.idegaweb.commune.account.citizen.data.CitizenAccountBMPBean#ejbHomeGetCount
// 	 */
// 	public int getCount(String personalID, String status) throws IDOException;
// }


// Path: src/java/is/idega/idegaweb/egov/citizen/business/CitizenAccountBusinessBean.java
import is.idega.idegaweb.egov.citizen.data.AccountApplication;
import is.idega.idegaweb.egov.citizen.data.CitizenAccount;
import is.idega.idegaweb.egov.citizen.data.CitizenAccountHome;
import is.idega.idegaweb.egov.message.business.CommuneMessageBusiness;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import com.idega.business.IBORuntimeException;
import com.idega.core.accesscontrol.business.UserHasLoginException;
import com.idega.core.accesscontrol.data.LoginInfo;
import com.idega.core.accesscontrol.data.LoginInfoHome;
import com.idega.core.accesscontrol.data.LoginTable;
import com.idega.data.IDOException;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.idegaweb.IWUserContext;
import com.idega.presentation.IWContext;
import com.idega.user.data.User;
import com.idega.user.data.UserHome;
import com.idega.util.CoreConstants;
import com.idega.util.CoreUtil;
import com.idega.util.Encrypter;
import com.idega.util.StringHandler;
import com.idega.util.StringUtil;

		try {
			StringBuffer userSsn = new StringBuffer(ssn);
			int i = ssn.indexOf('-');
			if (i != -1) {
				userSsn.deleteCharAt(i);
				ssn = userSsn.toString();
			}

			user = ((UserHome) IDOLookup.getHome(User.class)).findByPersonalID(userSsn.toString());
		}
		catch (RemoteException e) {
			return null;
		}
		catch (FinderException e) {
			if (ssn.length() == 10) {
				StringBuffer userSsn = new StringBuffer("20");
				userSsn.append(ssn);
				try {
					user = ((UserHome) IDOLookup.getHome(User.class)).findByPersonalID(userSsn.toString());
				}
				catch (Exception ex) {
					return null;
				}
			}
		}

		return user;
	}

	@Override
	protected AccountApplication getApplication(int applicationID) throws FinderException {