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

import javax.servlet.http.HttpServletRequest;

import jp.co.sint.basic.SIBasic;
import jp.co.sint.basic.SILogin;
import jp.co.sint.config.SIConfig;
import jp.co.sint.tools.SICheckDataConf;
import jp.co.sint.tools.SICheckValid;
import jp.co.sint.tools.SICustomErrors;
import jp.co.sint.tools.SIHTMLUtil;
import jp.co.sint.tools.SIUtil;
import jp.co.sint.tools.SIURLParameter;//7.1.1 ST0236 追加

import org.apache.log4j.Category;

/**
 * @version $Id: UIRegConnCmdty.java,v 1.0 2003/09/29 Exp $
 * @author  Jinwang Chen
 * <br>Description:
 * <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/09/29 14:21:32  Original
 */
public class UIRegConnCmdty extends SIBasic{

  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);

  //選択した関連ショップコードと商品コードの配列データ
  private String[] connShopCmdtyCodeChk=new String[0];

  //ショップコード
  private String shopCode="";

  //商品コード
  private String cmdtyCode="";

  //関連ショップコード
  private String connShopCode="";

  //関連商品コード
  private String connCmdtyCode="";

  //表示順
  private String dispOrder="0";

  //行号
  private String regRowNumTxt="0";

  public UIRegConnCmdty(){}

  public void setConnShopCmdtyCodeChk(String[] lConnShopCmdtyCodeChk){
    if (lConnShopCmdtyCodeChk==null)lConnShopCmdtyCodeChk=new String[0];
    connShopCmdtyCodeChk=lConnShopCmdtyCodeChk;
  }

  //setter of ショップコード
  public void setShopCode(String lShopCode){
    if (SIUtil.isNull(lShopCode)) lShopCode="";
    this.shopCode=SIUtil.changeTo(lShopCode.trim(),this.encode);
  }

  //setter of 商品コード
  public void setCmdtyCode(String lCmdtyCode){
    if (SIUtil.isNull(lCmdtyCode)) lCmdtyCode="";
    this.cmdtyCode=SIUtil.changeTo(lCmdtyCode.trim(),this.encode);
  }

  //setter of 関連ショップコード
  public void setConnShopCode(String lConnShopCode){
    if (SIUtil.isNull(lConnShopCode)) lConnShopCode="";
    this.connShopCode=SIUtil.changeTo(lConnShopCode.trim(),this.encode);
  }

  //setter of 関連商品コード
  public void setConnCmdtyCode(String lConnCmdtyCode){
    if (SIUtil.isNull(lConnCmdtyCode)) lConnCmdtyCode="";
    this.connCmdtyCode=SIUtil.changeTo(lConnCmdtyCode.trim(),this.encode);
  }

  //setter of 表示順
  public void setDispOrder(String lDispOrder){
    if (SIUtil.isNull(lDispOrder)) lDispOrder="0";
    this.dispOrder=SIUtil.changeTo(lDispOrder.trim(),this.encode);
  }

  //setter of 行号
  public void setRegRowNumTxt(String lRegRowNumTxt){
    if (SIUtil.isNull(lRegRowNumTxt)) lRegRowNumTxt="0";
    this.regRowNumTxt=SIUtil.changeTo(lRegRowNumTxt.trim(),this.encode);
  }

  public String[] getConnShopCmdtyCodeChk(){
    return this.connShopCmdtyCodeChk;
  }

  //getter of ショップコード
  public String getShopCode(){
    return this.shopCode;
  }

  //getter of 商品コード
  public String getCmdtyCode(){
    return this.cmdtyCode;
  }

  //getter of 関連ショップコード
  public String getConnShopCode(){
    return this.connShopCode;
  }

  //getter of 関連商品コード
  public String getConnCmdtyCode(){
    return this.connCmdtyCode;
  }

  //getter of 表示順
  public String getDispOrder(){
    return this.dispOrder;
  }

  //getter of 行号
  public String getRegRowNumTxt(){
    return this.regRowNumTxt;
  }

  /**
   * init
   * データベースに新規レコードを登録する前に、対象のショップコードと商品コード、
   * 関連商品コードのデータを取得します。
   * @param lRequest リクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  public void init(HttpServletRequest lRequest,SIURLParameter lUrlParam){//7.1.1 ST0236 修正
    SILogin lLogin=SIHTMLUtil.getLogin(lRequest);

    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS );
    if (lLogin.isShop()){
      this.setShopCode(lLogin.getMallShopCode());
    }else{
      this.setShopCode((String)lUrlParam.getParam("shopCode"));//7.1.1 ST0236 修正
    }
    this.setCmdtyCode((String)lUrlParam.getParam("cmdtyCode"));//7.1.1 ST0236 修正
    this.setConnShopCmdtyCodeChk(lRequest.getParameterValues("connShopCmdtyCodeChk"));
  }

  /**
   * initDelete
   * データベースにレコードを削除する前に、対象のショップコードと商品コード、
   * 関連商品コードのデータを取得します。
   * @param lRequest リクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  //7.1.1 ST0236 修正　ここから
  public void initDelete(HttpServletRequest lRequest,SIURLParameter lUrlParam){//7.1.1 ST0236 修正
    SILogin lLogin=SIHTMLUtil.getLogin(lRequest);
    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS );
    if (lLogin.isShop()){
      this.setShopCode(lLogin.getMallShopCode());
    }else{
      this.setShopCode((String)lUrlParam.getParam("shopCode"));
    }
    this.setCmdtyCode((String)lUrlParam.getParam("cmdtyCode"));
    this.setConnShopCode((String)lUrlParam.getParam("connShopCode"));
    this.setConnCmdtyCode((String)lUrlParam.getParam("connCmdtyCode"));
  }
  //7.1.1 ST0236 修正　ここまで

  /**
   * initModify
   * データベースに既存のレコードを修正する前に、対象のショップコードと商品コード、
   * 関連商品コードのデータを取得します。
   * @param lRequest リクエスト
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  public void initModify(HttpServletRequest lRequest,SIURLParameter lUrlParam){//7.1.1 ST0236 修正
    SILogin lLogin=SIHTMLUtil.getLogin(lRequest);

    this.setEncode(SIConfig.SIENCODE_SHIFT_JIS );
    if (lLogin.isShop()){
      this.setShopCode(lLogin.getMallShopCode());
    }else{
      this.setShopCode((String)lUrlParam.getParam("shopCode"));//7.1.1 ST0236 修正
    }
		//7.1.1 ST0236 修正　ここから
    this.setCmdtyCode((String)lUrlParam.getParam("cmdtyCode"));
    this.setConnShopCode((String)lUrlParam.getParam("connShopCode"));
    this.setConnCmdtyCode((String)lUrlParam.getParam("connCmdtyCode"));

    this.setRegRowNumTxt((String)lUrlParam.getParam("regRowNumTxt"));
    this.setDispOrder((String)lUrlParam.getParam(SIConfig.SIPREFIX_DISP_ORDER_TEXT+getRegRowNumTxt()+"Txt"));
		//7.1.1 ST0236 修正　ここまで
  }

  /**
   * validateModify
   * 入力した修正データをチェックします。
   * @param lRequest リクエスト
   * @return なし
   * @throws なし
   */
  public boolean validateModify(HttpServletRequest lRequest){
    SICustomErrors errors=new SICustomErrors();

    //商品コード
    SICheckValid.checkValid(errors,"表示順",getDispOrder(),SICheckDataConf.SICHECK_DATA_DIGIT_TYPE);

    if (!errors.isEmpty()) lRequest.setAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY,errors);
    else lRequest.removeAttribute(SIConfig.SIERROR_ATTRIBUTE_MESSAGE_KEY);

    return errors.isEmpty();
  }
}
