package jp.arcanum.myaddress.pages.update;

import java.util.Map;

import jp.arcanum.myaddress.pages.list.ListPage;
import jp.arcanum.myaddress.util.MyUtil;

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.basic.MultiLineLabel;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.model.Model;

public class DeletePage extends AbstractDetailPage {

	/**
	 * 名前（漢字）
	 */
	private Label _namekanji = new Label("NAME_KANJI", new Model());
	
	/**
	 * 名前（カナ）
	 */
	private Label _namekana = new Label("NAME_KANA", new Model());
	
	/**
	 * 郵便番号（上３桁）
	 */
	private Label _yubinkami = new Label("YUBIN_KAMI", new Model());
	
	/**
	 * 郵便番号（下４桁）
	 */
	private Label _yubinshimo = new Label("YUBIN_SHIMO", new Model());
	
	
	/**
	 * 住所
	 */
	private MultiLineLabel _address = new MultiLineLabel("ADDRESS", new Model());
	
	/**
	 * 電話番号
	 */
	private Label _telno = new Label("TEL", new Model());

	/**
	 * ＦＡＸ番号
	 */
	private Label _faxno = new Label("FAX", new Model());

	
	/**
	 * 削除ボタン
	 */
	private Button _delete = new Button("DELETE"){
		public void onSubmit(){
			onClickDelete();
		}
	};
	
	
	/**
	 * コンストラクタ
	 * @param param ページ間引数
	 *
	 */
	public DeletePage(PageParameters param){
		
		//　名前（漢字）
		_form.add(_namekanji);
		
		
		//　名前（カナ）
		_form.add(_namekana);
		
		
		//　郵便番号（上３桁）
		_form.add(_yubinkami);
		
		
		//　郵便番号（上４桁）
		_form.add(_yubinshimo);
		
		
		//　住所
		_form.add(_address);
		
		
		//　電話番号
		_form.add(_telno);
		
		
		//　ＦＡＸ番号
		_form.add(_faxno);
		
		
		//　削除ボタン
		_form.add(_delete);
		
		//　更新対象を検索
		Map target = selectTarget(param.getInt(ADDRID));
		if(target == null){
			error("更新対象のレコードが検索できませんでした。");
			_delete.setVisible(false);
			return;
		}
		setTarget(target);
		
		
		
		//　名前（漢字）
		_namekanji.setModelObject(target.get("NAME_KANJI"));
		
		//　名前（カナ）
		_namekana.setModelObject(target.get("NAME_KANA"));
		
		//　郵便番号
		String yubin = (String)target.get("YUBIN");
		_yubinkami.setModelObject(yubin.substring(0,3));
		_yubinshimo.setModelObject(yubin.substring(3));
		
		//　住所
		_address.setModelObject(target.get("ADDRESS"));
		
		//　電話番号
		_telno.setModelObject(target.get("TEL_NO"));
		
		//　ＦＡＸ番号
		_faxno.setModelObject(target.get("FAX_NO"));

		
	}
	
	
	
	/**
	 * 削除ボタン処理
	 *
	 */
	private void onClickDelete(){
		
		
		//更新対象を取得
		Map target = (Map)getTarget();
		
		String sql = "DELETE FROM MYADDRESS WHERE ADDRID=" + target.get("ADDRID"); 
		
		
		int delete = MyUtil.update(sql);
		
		//　一覧に戻る
		setResponsePage(ListPage.class);

	}
	
}
