--- /dev/null
+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; }
+ }
+}