public void PrintUsage(ServerResponse response) { response.AddData(HTML.CreateOutputLine("<br/><br/>", Color.Get("orange", "WebCMD Issue DB"), " -- Version 2.2 -- Team Icelane (c) 2015 <br/><br/>")); response.AddData(HTML.CreateOutputLine("Command to manage the WebCMD issue database.<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Aliases: "), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" "), Color.Get("orange", HTML.Encode(String.Join(", ", this.Aliase))), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Usage:"), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" "), Color.Get("orange", "issues"), " [list|add|remove|fixed|invalid|new|work|priority] <br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" list [state]")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Get a list of issues based on the given issue-state."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Available issue-states:"))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("green-light", Issue.IssueState.FIXED.ToString()))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("green-light", Issue.IssueState.DONE.ToString()))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("blue-light", Issue.IssueState.NEW.ToString()))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("red", Issue.IssueState.INVALID.ToString()))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("orange", Issue.IssueState.WORK.ToString()), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" add|report <description>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Add a issue/todo or report a bug with the given description text."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Use the command alias "), Color.Get("orange", "\"bug\""), HTML.Encode(" to report the issue or add "), Color.Get("orange", HTML.Encode("\"Bug:\"")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" at the beginning of the description text to mark the issue as a bug."))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Add "), Color.Get("orange", HTML.Encode("\"Add:\"")), HTML.Encode(" at the beginning of the description text to mark the issue as an addition."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Text within square brackets ("), Color.Get("blue-light", HTML.Encode("[]")), HTML.Encode(") at the beginning of the description text"))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" will be highlighted with a color."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" remove|-rm <id>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Remove the issue with the given id."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" fixed|-f <id>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Mark the issue with the given id as "), Color.Get("green-light", Issue.IssueState.FIXED.ToString()), " / ", Color.Get("green-light", "DONE"), ".", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" invalid|-i <id>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Mark the the issue with the given id as an "), Color.Get("red", Issue.IssueState.INVALID.ToString()), " issue.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" new|-n <id>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Mark the issue with the given id as a "), Color.Get("blue-light", Issue.IssueState.NEW.ToString()), " issue.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" work|assig|-w|-as <id>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Mark the issue with the given id as "), Color.Get("orange", Issue.IssueState.WORK.ToString()), ", wich means someone is working on it.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" priority|prio|-p <id> <priority>")))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Set the issue priority."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Available priority:"))); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("red", "!"), " (critical)")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("orange", "+"), " (heigh)")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), ".", " (normal)")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("blue-light", "-"), " (low)")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" - "), Color.Get("green-light", "?"), " (suggestion)", "<br/><br/>")); }
public void PrintUsage(ServerResponse response) { response.AddData(HTML.CreateOutputLine("<br/><br/>", Color.Get("orange", "WebCMD Issue DB"), " -- Version 2.2 -- Team Icelane (c) 2015 <br/><br/>")); response.AddData(HTML.CreateOutputLine("Command to manage the WebCMD issue database.<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Aliases: "), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" "), Color.Get("orange", HTML.Encode(String.Join(", ", this.Aliase))), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" Usage:"), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(HTML.Encode(" "), Color.Get("orange", "issues"), " [list|add|remove|fixed|invalid|new|work|priority] <br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" list [state]")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Get a list of issues based on the given issue-state."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Available issue-states:"))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("green-light", Issue.IssueState.FIXED.ToString()))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("green-light", Issue.IssueState.DONE.ToString()))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("blue-light", Issue.IssueState.NEW.ToString()))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("red", Issue.IssueState.INVALID.ToString()))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("orange", Issue.IssueState.WORK.ToString()), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" add|report <description>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Add a issue/todo or report a bug with the given description text."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Use the command alias "), Color.Get("orange", "\"bug\""), HTML.Encode(" to report the issue or add "), Color.Get("orange", HTML.Encode("\"Bug:\"")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" at the beginning of the description text to mark the issue as a bug."))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Add "), Color.Get("orange", HTML.Encode("\"Add:\"")), HTML.Encode(" at the beginning of the description text to mark the issue as an addition."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Text within square brackets ("), Color.Get("blue-light", HTML.Encode("[]")), HTML.Encode(") at the beginning of the description text"))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" will be highlighted with a color."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" remove|-rm <id>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Remove the issue with the given id."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" fixed|-f <id>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Mark the issue with the given id as "), Color.Get("green-light", Issue.IssueState.FIXED.ToString()), " / ", Color.Get("green-light", "DONE"), ".", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" invalid|-i <id>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Mark the the issue with the given id as an "), Color.Get("red", Issue.IssueState.INVALID.ToString()), " issue.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" new|-n <id>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Mark the issue with the given id as a "), Color.Get("blue-light", Issue.IssueState.NEW.ToString()), " issue.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" work|assig|-w|-as <id>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Mark the issue with the given id as "), Color.Get("orange", Issue.IssueState.WORK.ToString()), ", wich means someone is working on it.", "<br/><br/>")); response.AddData(HTML.CreateOutputLine(Color.Get("orange", HTML.Encode(" priority|prio|-p <id> <priority>")))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Set the issue priority."), "<br/><br/>")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" Available priority:"))); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("red", "!"), " (critical)")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("orange", "+"), " (heigh)")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), ".", " (normal)")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("blue-light", "-"), " (low)")); response.AddData(HTML.CreateOutputLine( HTML.Encode(" - "), Color.Get("green-light", "?"), " (suggestion)", "<br/><br/>")); }
protected override bool _Execute(CommandRequest e) { string[] args = e.ArgumentList; ServerResponse response = ResponseHandler.NewOutputResponse; try { // 0 if (args.Length <= 0) { List <Issue> l = GetIssueList(); foreach (Issue o in l) { if (o.State == Issue.IssueState.NEW || o.State == Issue.IssueState.WORK) { response.AddData(CreateHtmlEntry(o)); } } } // 3 //PRIORITY else if (check(args, 3, "prio", "priority", "-p")) { Issue o = GetObject(Int32.Parse(args[1])); if (o != null) { o.Priority = Issue.GetPriority(args[2].ToLower().Trim()); response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: ")); response.AddData(CreateHtmlEntry(UpdateObject(o))); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } // 2 //ADD else if (check(args, 2, "add", "report")) { List <Issue> l = GetIssueList(); string desc = Regex.Replace(e.ArgumentString.Substring(args[0].Length), "\\s+", " ").Trim(); string highlight = ""; Issue.IssueType type = Issue.IssueType.TODO; //prio Issue.IssuePriority prio = Issue.GetPriority(desc.ToLower().Trim().Substring(0, 1)); if (prio != Issue.IssuePriority.NORMAL) { desc = desc.Trim().Substring(1).Trim(); } //heightlight (e.g. "[JS] ...") if (desc.ToLower().StartsWith("[") && desc.ToLower().Contains("]")) { highlight = desc.Substring(0, desc.IndexOf("]") + 1).Trim(); desc = desc.Substring(highlight.Length).Trim(); } //bug string b = e.Command.ToLower(); if (b.Contains("bug")) { type = Issue.IssueType.BUG; } if (desc.ToLower().StartsWith("bug:")) { type = Issue.IssueType.BUG; desc = desc.Substring(4).Trim(); } //add if (desc.ToLower().StartsWith("add:")) { type = Issue.IssueType.ADD; desc = desc.Substring(4).Trim(); } Issue o = new Issue(type, String.Concat(highlight, " ", desc)); o.ID = l[l.Count - 1].ID + 1; o.State = Issue.IssueState.NEW; o.Priority = prio; l.Add(o); SaveIssueList(l); response.AddData(HTML.CreateCssClassOutputLine("green", "Added: ")); response.AddData(CreateHtmlEntry(o)); } //REMOVE else if (check(args, 2, "remove", "-rm")) { List <Issue> l = GetIssueList(); int n = Int32.Parse(args[1]); bool match = false; foreach (Issue o in l) { if (o.ID == n) { match = true; l.Remove(o); response.AddData(HTML.CreateCssClassOutputLine("red", "Removed: ")); response.AddData(CreateHtmlEntry(o)); break; } } if (match) { SaveIssueList(l); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } //FIXED else if (check(args, 2, "fixed", "-f", "done")) { Issue o = GetObject(Int32.Parse(args[1])); if (o != null) { o.State = Issue.IssueState.DONE; if (o.Type == Issue.IssueType.BUG) { o.State = Issue.IssueState.FIXED; } response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: ")); response.AddData(CreateHtmlEntry(UpdateObject(o))); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } //INVALID else if (check(args, 2, "invalid", "-i")) { Issue o = GetObject(Int32.Parse(args[1])); if (o != null) { o.State = Issue.IssueState.INVALID; response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: ")); response.AddData(CreateHtmlEntry(UpdateObject(o))); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } //NEW else if (check(args, 2, "new", "-n")) { Issue o = GetObject(Int32.Parse(args[1])); if (o != null) { o.State = Issue.IssueState.NEW; response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: ")); response.AddData(CreateHtmlEntry(UpdateObject(o))); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } //IN PROGRESS else if (check(args, 2, "work", "assign", "-w", "-as")) { Issue o = GetObject(Int32.Parse(args[1])); if (o != null) { o.State = Issue.IssueState.WORK; response.AddData(HTML.CreateCssClassOutputLine("blue-light", "Changed: ")); response.AddData(CreateHtmlEntry(UpdateObject(o))); } else { response.AddData(CmdMessage.Get(CmdMessage.Type.Error, HTML.Encode("Error: ID Not found!"))); } } // 1 //LIST else if (check(args, 1, "list")) { List <Issue> l = GetIssueList(); List <Issue.IssueState> filters = new List <Issue.IssueState>(); if (args.Length >= 2) { for (int i = 1; i < args.Length; i++) { try { filters.Add((Issue.IssueState)Enum.Parse(typeof(Issue.IssueState), args[i], true)); } catch { filters.Clear(); } } } foreach (Issue o in l) { if (filters.Count <= 0) { response.AddData(CreateHtmlEntry(o)); } foreach (Issue.IssueState filter in filters) { if (o.State == filter) { response.AddData(CreateHtmlEntry(o)); } } } } else { PrintUsage(response); } } catch (Exception ex2) { PrintUsage(response); response.AddData("ERROR: ", ex2.ToString()); } e.Source.Response.Send(response); return(true); }