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

import java.sql.Connection;
import java.util.HashMap;

import javax.servlet.http.HttpServletRequest;

import jp.co.sint.basic.SIFrontBasic;
import jp.co.sint.config.SIConfig;
import jp.co.sint.database.SIDBAccessException;
import jp.co.sint.database.SIDBUtil;
import jp.co.sint.tools.SIUtil;
import jp.co.sint.tools.SIURLParameter;//7.1.1 ST0236 追加

import org.apache.log4j.Category;

/**
 * @version $Id: UIShopInfo.java,v 1.0 2003/10/27 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/10/27 14:11:32  Original
 */
public class UIReviewInfo extends SIFrontBasic{
  //ログ用のインスタンスの生成
  private static Category log=Category.getInstance(SIConfig.SILOG4J_WEBSHOP_CATEGORY_NAME);
  
  //レビューコード
  private String reviewCodeTxt="";
  
  //投稿者
  private String nickNameTxt="";
  
  //性別
  private String sexTxt="";
  
  //Eメール
  private String emailTxt="";
  
  //投稿日
  private String initdatetimeTxt="";
  
  public UIReviewInfo(){
  }
  
  //setter of レビューコード
  public void setReviewCodeTxt(String lReviewCodeTxt){
    if (SIUtil.isNull(lReviewCodeTxt)) lReviewCodeTxt="";
    this.reviewCodeTxt=SIUtil.changeTo(lReviewCodeTxt.trim(),this.encode);
  }
  
  //setter of 投稿者
  public void setNickNameTxt(String lNickNameTxt){
    if (SIUtil.isNull(lNickNameTxt)) lNickNameTxt="";
    this.nickNameTxt=SIUtil.changeTo(lNickNameTxt.trim(),this.encode);
  }
  
  //setter of メール
  public void setEmailTxt(String lEmailTxt){
    if (SIUtil.isNull(lEmailTxt)) lEmailTxt="";
    this.emailTxt=SIUtil.changeTo(lEmailTxt.trim(),this.encode);
  }
  
  //setter of 性別
  public void setSexTxt(String lSexTxt){
    if (SIUtil.isNull(lSexTxt))lSexTxt="";
    this.sexTxt=lSexTxt;
  }
  
  //getter of 性別画像
  public String getImageFileNameOfSex(){
    int lSex=Integer.parseInt(sexTxt);
    return SIUtil.getImageFileNameOfSex(lSex);
  }
  
  //getter ofレビューコード
  public String getReviewCodeTxt(){
    return this.reviewCodeTxt;
  }
  
  //getter of 投稿者
  public String getNickNameTxt(){
    return this.nickNameTxt;
  }
  
  //getter of Eメール
  public String getEmailTxt(){
    return this.emailTxt;
  }
  
  //getter of 性別
  public String getSexTxt(){
    return this.sexTxt;
  }
  
  /**
   * <b>init</b>
   * トップ画面に、顧客さんが選択データを取得して、設定します。
   * @param request クライアントからリクエスト
   * @param lConnection DBへのコネクション
   * @param lUrlParam
   * @return なし
   * @throws なし
   */
  public void init(HttpServletRequest lRequest,Connection lConnection,SIURLParameter lUrlParam){//7.1.1 ST0236 修正
    super.init(lRequest,lUrlParam);
    this.setReviewCodeTxt((String)lUrlParam.getParam("rvc"));
    this.setSexTxt((String)lUrlParam.getParam("sex"));
    
    StringBuffer  lSql=new StringBuffer();
    lSql.append("SELECT * FROM reviewtbl ");
    lSql.append("WHERE email = ");
    lSql.append("(SELECT Email FROM reviewtbl WHERE reviewcode = ");
    lSql.append(SIDBUtil.SQL2Str((String)lUrlParam.getParam("rvc")));//7.1.1 ST0236 修正
    lSql.append(" ) AND nickname = ");
    lSql.append("(SELECT nickname FROM reviewtbl WHERE reviewcode = ");
    lSql.append(SIDBUtil.SQL2Str((String)lUrlParam.getParam("rvc")));//7.1.1 ST0236 修正
    lSql.append(" ) AND sex = ");
    lSql.append(SIDBUtil.SQL2Str((String)lUrlParam.getParam("sex")));//7.1.1 ST0236 修正
    log.debug("lSql ="+lSql.toString() );
    try {
      this.setEncode(SIConfig.SIENCODE_NONE);
      HashMap lMap=SIDBUtil.getOneRowData(lConnection,lSql.toString());
      //ニックネーム
      this.setNickNameTxt((String)lMap.get("nickname"));
      //Email
      this.setEmailTxt((String)lMap.get("email"));
      //sex
      this.setSexTxt((String)lMap.get("sex"));
    } catch (SIDBAccessException e) {
      e.printStackTrace();
    }
  }
}
