using System; using System.Collections.Generic; namespace Schedulable.Show { public class Show { public PreshowTaskList PreShow { get; set; } public TaskList PostShow { get; set; } #region components public class TaskList { public IEnumerable Manual { get; set; } public IEnumerable Commands { get; set; } } public class PreshowTaskList : TaskList { public IEnumerable AgentsNeeded { get; set; } public IEnumerable Checks { get; set; } } public class Checklistable { //for humans public string Label { get; set; } public IEnumerable Items { get; set; } //if no items, just throw up a checkbox } public class CommandLine { public string cmd { get; set; } public string args { get; set; } public TimeSpan timeout { get; set; } public TimeSpan leadTime { get; set; } } public class CommandLineCheck { public string cmd { get; set; } public string args { get; set; } public string target { get; set; } } #endregion } public class TwitchStream : Show { public string TwitchTitle { get; set; } public string TwitchCategory { get; set; } } public class YoutubeRelease : Show { } }