using System;

namespace TechBot.Library
{
	public abstract class BugCommand : Command
	{
        private string m_BugID = null;

		public BugCommand()
		{
		}

        [CommandParameter("id", "The bug ID")]
        public string BugID
        {
            get { return m_BugID; }
            set { m_BugID = value; }
        }

        public override void ExecuteCommand()
        {
            if (BugID == null)
            {
                Say("Please provide a valid bug number.");
            }
            else
            {
                try
                {
                    Say(BugUrl, Int32.Parse(BugID));
                }
                catch (Exception)
                {
                    Say("{0} is not a valid bug number.", BugID);
                }
            }
        }

        protected abstract string BugUrl { get; }
	}
}