/**
 * Copyright (c) 2003-2004 System Integrator Corporation.
 *                 All Rights Reserved.
 */
package jp.co.sint.basic;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;

import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBUtil;

import org.apache.log4j.Category;

/**
 * @version $Id: SIAddressManager.java,v 1.0 2003/11/19 Exp $
 * @author  Jinwang Chen
* <br>Description:will delete in the future
 * <p>History</p>
 * <p>Author&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reason</p>
 *  ============&nbsp;&nbsp;&nbsp;==========&nbsp;&nbsp;===========================<br>
 * Jinwang Chen   2003/11/19 14:01:11  Original
 */
public class SIAddressManager {
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);

  public SIAddressManager(){
  }

  /**
   * <b>getCollection</b>
   * 顧客コードから顧客のアドレス帳コレクションを取得します。
   * @param  Connection コネクション
   * @param  CustCode 顧客コード
   * @return collection
   * @throws なし
   */
  public static Collection getCollection(Connection lConnection,String lCustCode){
    Statement lStatement=null;
    ResultSet lResultSet=null;

    Collection lResultColl=new ArrayList();
    SICustAddress lAddress=new SICustAddress();
    StringBuffer lSqlBuf=new StringBuffer();
    lSqlBuf.append("SELECT * FROM CustAddressTbl WHERE CustCode="+SIDBUtil.SQL2Str(lCustCode));

    try {
      log.debug("getCollection:lSqlBuf="+lSqlBuf.toString());
      lStatement=lConnection.createStatement();
      lResultSet=lStatement.executeQuery(lSqlBuf.toString());
      while(lResultSet.next()){
        lAddress=new SICustAddress();
        lAddress.setEncode(SIConfig.SIENCODE_NONE);
        lAddress.setCustCode(lResultSet.getString("custCode"));//顧客コード
        lAddress.setAddressCode(lResultSet.getString("addressCode"));//アドレスコード
        lAddress.setCustCompanyFlg(lResultSet.getString("custCompanyFlg"));//法人個人区分
        lAddress.setDeliveryName(lResultSet.getString("deliveryName"));//配送先呼称
        lAddress.setDeliveryAddressee(lResultSet.getString("deliveryAddressee"));//配送先正式名
        lAddress.setEmail(lResultSet.getString("email"));//EMAIL
        lAddress.setPostCode1(lResultSet.getString("postCode1"));//郵便番号1
        lAddress.setPostCode2(lResultSet.getString("postCode2"));//郵便番号2
        lAddress.setAddress1(lResultSet.getString("address1"));//住所1
        lAddress.setAddress2(lResultSet.getString("address2"));//住所2
        lAddress.setAddress3(lResultSet.getString("address3"));//住所3
        lAddress.setCompanyName(lResultSet.getString("companyName"));//会社名
        lAddress.setLastDeliveryDate(lResultSet.getString("lastDeliveryDate"));//最後配送日付
        lAddress.setTel(lResultSet.getString("tel"));//連絡先電話番号
        lAddress.setFax(lResultSet.getString("fax"));//連絡先FAX番号
        lResultColl.add(lAddress);
      }
    }catch(Exception e){
      e.printStackTrace();
    }finally{
      SIDBUtil.close(lStatement,lResultSet);
    }

    return lResultColl;
  }
}
