public override void Command(MenuItem menuItem, string UserInput) { ListenerInteractMenuItem listenerInteractMenuItem = (ListenerInteractMenuItem)menuItem; // TODO: error if http lsitener already on this port if (listenerInteractMenuItem.listener.Status == ListenerStatus.Active) { EliteConsole.PrintFormattedErrorLine("Listener: " + listenerInteractMenuItem.listener.Name + " is already active."); menuItem.PrintInvalidOptionError(UserInput); } else { switch (listenerInteractMenuItem.listenerType.Name) { case "HTTP": HttpListener httpListener = this.CovenantClient.ApiListenersHttpByIdGet(listenerInteractMenuItem.listener.Id ?? default); httpListener.Status = ListenerStatus.Active; this.CovenantClient.ApiListenersHttpPut(httpListener); break; } listenerInteractMenuItem.Refresh(); // EliteConsole.PrintFormattedHighlightLine("Started Listener: " + listenerInteractMenuItem.listener.Name); EventModel eventModel = new EventModel { Message = "Started Listener: " + listenerInteractMenuItem.listener.Name, Level = EventLevel.Highlight, Context = "*" }; eventModel = this.CovenantClient.ApiEventsPost(eventModel); this.EventPrinter.PrintEvent(eventModel); } }