package ui;

import model.Player;

import org.apache.commons.lang.StringUtils;

import dao.PlayerDao;

public class DeletePlayerUi extends AbstractUi {

	private PlayerDao playerDao;

	public void setPlayerDao(PlayerDao dao) {
		this.playerDao = dao;
	}

	public void show() {
		// ¸Þ´º Ç¥½Ã
		showMenu();
		// ÄÜ¼Ö¿¡ ÀÔ·ÂµÈ °ªÀ» Ãëµæ
		String id = getInputedString();
		// ¹®ÀÚ¿­ÀÌ ÀÔ·ÂµÇ¾î ÀÖ´ÂÁö?
		if (StringUtils.isEmpty(id)) {
			return;
			// ¼ýÀÚÀÎÁö?
		} else if (UiUtils.isNumeric(id, "¼±¼öID")) {
			// ID·Î ¼±¼ö¸¦ Ãëµæ
			Player player = this.playerDao.getPlayer(Integer.valueOf(id));
			if (player == null) {
				// ÇØ´çÇÏ´Â ¼±¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù
				System.out.printf("ÀÔ·ÂÇÑ ¼±¼öID '%s'ÀÎ ¼±¼ö´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.%n", id);
				show();
			} else {
				// ¼±¼ö¸¦ »èÁ¦
				this.playerDao.deletePlayer(player);
				System.out.printf("¼±¼öID '%s'¶ó´Â ¼±¼ö¸¦ »èÁ¦ÇÕ´Ï´Ù.%n", id);
			}
		} else {
			show();
		}
	}

	protected void showMenu() {
		System.out.println("--------------------");
		System.out.println("¡º¼±¼ö ¸í´Ü¡»¡¸¼±¼ö »èÁ¦¡¹");
		System.out.println("");
		System.out.println("¼±¼öID¸¦ ÀÔ·ÂÇÑ ÈÄ Enter¸¦ ´­·¯ÁÖ¼¼¿ä.");
		System.out.println("¾Æ¹«°Íµµ ÀÔ·ÂÇÏÁö ¾Ê°í Enter¸¦ ´©¸£¸é ¸Þ´º·Î µ¹¾Æ°©´Ï´Ù.");
	}

}
