/*
このファイルの中身は、NTT オープンソースライセンス　バージョン 1.0（「本
契約」という）の適用を受けます。
本契約を遵守しない限り、このファイルを使用してはなりません。
本契約のコピーは、次のＵＲＬから入手できます。
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

本契約に基づき頒布されるソフトウェアは、現状のまま、明示又は黙示のあらゆ
る種類の保証なしで、頒布されます。本契約に基づく権利及び制限を律する特定
の文言については、本契約を参照してください。

「オリジナルコード」は、 NTT Cyber Space Laboratories Code です。 
「オリジナルコード」の「初期開発者」は、日本電信電話株式会社です。  
日本電信電話株式会社により創作された部分は、Copyright (C) 2004 
日本電信電話株式会社 です。
全ての権利が留保されます。 
「コントリビュータ」：_____________________________________ 


The contents of this file are subject to the NTT Opensource License
Version 1.0 (the License); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
【配布サイトのURL】 http://www.oss.ecl.ntt.co.jp/lms/

Software distributed under the License is distributed on an AS IS
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is NTT Cyber Space Laboratories Code .

The Initial Developer of the Original Code is NIPPON TELEGRAPH AND 
TELEPHONE CORPORATION.
Portions created by the NIPPON TELEGRAPH AND TELEPHONE CORPORATION 
are Copyright (C) 2004 NIPPON TELEGRAPH AND TELEPHONE CORPORATION. 
All Rights Reserved.

Contributor(s) ______________________________________.
*/

//
//	Cafeteria　個別テーブルデータ保持クラス
//			変更履歴
//				2005.12.19	新規作成	大賀俊彦
//
package jp.co.ntt.lms.lo.Cafeteria;

/**
 * CafeteriaLo_LoList　個別テーブルデータ保持クラスです。<BR>
 * 直列化のためにjava.io.Serializableインタフェースを実装します。
 */
public class CafeteriaLoListData implements java.io.Serializable {

	/** LOIDを保持します */
	private String mstrLOID = "";

	/** CAFETERIALIST_IDを保持します */
	private String mstrCafeteriaListLOID = "";

	/** CafeteriaListLOTitleを保持します */
	private String mstrCafeteriaListLOTitle = "";

	/** SORT_NO を保持します */
	private String mstrSortNo = "";

	/** ApplyMax：上限値を保持します */
	private String mstrApplyMax = "";

	/** ApplyCnt：申請数を保持します。申請時に増え、却下時に減る。 */
	private String mstrApplyCnt = "";

	/** ApproveCnt：承認数を保持します。承認時に増える。 */
	private String mstrApproveCnt = "";

	/** AccountPrice：課金金額 */
	private String mstrAccountPrice = "";


	private String strMessage = null;
	/** 上限に達しているエラー */
	private static final String LIMIT_OVER_ERROR = "上限に達しています。";
	
	/**
	 * 申請数を１つ増やします
	 * @return boolean
	 */
	public boolean addApplyCnt(){

		strMessage = null;
		
		int intApplyMax = Integer.parseInt(mstrApplyMax);
		int intApplyCnt = Integer.parseInt(mstrApplyCnt);
		
		if(intApplyCnt >= intApplyMax){
			// 申請上限になっている場合、申請却下
			strMessage = LIMIT_OVER_ERROR;
			return false;
		}
		else{
			// 申請可能な場合、申請数を１増やす
			intApplyCnt++;
			mstrApplyCnt = Integer.toString(intApplyCnt);
			return true;
		}
	}
	
	/**
	 * 承認数を１つ増やします
	 * @return boolean
	 */
	public boolean addApproveCnt(){
		strMessage = null;
		int intApplyMax = Integer.parseInt(mstrApplyMax);
		int intApproveCnt = Integer.parseInt(mstrApproveCnt);
		
		if(intApproveCnt >= intApplyMax){
			// 上限になっている場合、承認不可
			strMessage = LIMIT_OVER_ERROR;
			return false;
		}
		else{
			// 承認可能な場合、承認数を１増やす
			intApproveCnt++;
			mstrApproveCnt = Integer.toString(intApproveCnt);
			return true;
		}
	}
	
	/**
	 * 却下処理をします
	 * @return boolean
	 */
	public boolean rejectAction(){
		int intApplyCnt = Integer.parseInt(mstrApplyCnt);
		
		if(intApplyCnt > 0){
			intApplyCnt--;
			mstrApplyCnt = Integer.toString(intApplyCnt);
		}
		return true;
	}
	
	/**
	 * LOIDを設定します
	 * @param String LOID
	 */
	public void setLOID( String strLOID )
	{
		mstrLOID = strLOID;
	}
	
	/**
	 * LOIDを設定します
	 * @param String LOID
	 */
	public String getLOID()
	{
		return mstrLOID;
	}

	/**
	 * CAFETERIA_IDを設定します
	 * @param String LOのURL
	 */
	public void setCafeteriaListLOID( String strCafeteriaListLOID )
	{
		mstrCafeteriaListLOID = strCafeteriaListLOID;
	}
	
	/**
	 * CafeteriaListLOタイトルを設定します
	 * @param String CafeteriaListLOタイトル
	 */
	public void setCafeteriaListLOTitle( String strCafeteriaListLOTitle )
	{
		mstrCafeteriaListLOTitle = strCafeteriaListLOTitle;
	}


	/**
	 * CafeteriaIDを取得します
	 * @return String CafeteriaID
	 */
	public String getCafeteriaListLOID()
	{
		return mstrCafeteriaListLOID;
	}

	/**
	 * SORT_NOを設定します
	 * @param String SORT_NO
	 */
	public void setSortNo( String strSortNo )
	{
		mstrSortNo = strSortNo;
	}
	
	/**
	 * SORT_NOを取得します
	 * @return String SORT_NO
	 */
	public String getSortNo()
	{
		return mstrSortNo;
	}

	/**
	 * CafeteriaListLOタイトルを取得します
	 * @return String CafeteriaID
	 */
	public String getCafeteriaListLOTitle()
	{
		return mstrCafeteriaListLOTitle;
	}


	/**
	 * @return mstrAccountPrice を戻します。
	 */
	public String getAccountPrice() {
		return mstrAccountPrice;
	}
	/**
	 * @param mstrAccountPrice mstrAccountPrice を設定。
	 */
	public void setAccountPrice(String mstrAccountPrice) {
		this.mstrAccountPrice = mstrAccountPrice;
	}
	/**
	 * @return mstrApplyCnt を戻します。
	 */
	public String getApplyCnt() {
		return mstrApplyCnt;
	}
	/**
	 * @param mstrApplyCnt mstrApplyCnt を設定。
	 */
	public void setApplyCnt(String mstrApplyCnt) {
		this.mstrApplyCnt = mstrApplyCnt;
	}
	/**
	 * @return mstrApplyMax を戻します。
	 */
	public String getApplyMax() {
		return mstrApplyMax;
	}
	/**
	 * @param mstrApplyMax mstrApplyMax を設定。
	 */
	public void setApplyMax(String mstrApplyMax) {
		this.mstrApplyMax = mstrApplyMax;
	}
	/**
	 * @return mstrApproveCnt を戻します。
	 */
	public String getApproveCnt() {
		return mstrApproveCnt;
	}
	/**
	 * @param mstrApproveCnt mstrApproveCnt を設定。
	 */
	public void setApproveCnt(String mstrApproveCnt) {
		this.mstrApproveCnt = mstrApproveCnt;
	}
	/**
	 * @return strMessage を戻します。
	 */
	public String getStrMessage() {
		return strMessage;
	}
	/**
	 * @param strMessage strMessage を設定。
	 */
	public void setStrMessage(String strMessage) {
		this.strMessage = strMessage;
	}
}