public override void Command(MenuItem menuItem, string UserInput) { try { string[] commands = UserInput.Split(" "); if (commands.Length != 2 || !commands[0].Equals(this.Name, StringComparison.OrdinalIgnoreCase)) { menuItem.PrintInvalidOptionError(UserInput); EliteConsole.PrintFormattedErrorLine("Usage: Delete <username>"); return; } List <CovenantUser> Users = ((UsersMenuItem)menuItem).Users; CovenantUser user = Users.FirstOrDefault(U => U.UserName == commands[1]); if (user != null) { EliteConsole.PrintFormattedWarning("Delete user: \"" + commands[1] + "\"? [y/N] "); string input = EliteConsole.Read(); if (input.StartsWith("y", StringComparison.OrdinalIgnoreCase)) { this.CovenantClient.ApiUsersByIdDelete(user.Id); } } else { EliteConsole.PrintFormattedErrorLine("User: \"" + commands[1] + "\" does not exist."); } } catch (HttpOperationException e) { EliteConsole.PrintFormattedWarningLine("CovenantException: " + e.Response.Content); } }
public override void Command(MenuItem menuItem, string UserInput) { GruntsMenuItem gruntsMenuItem = (GruntsMenuItem)menuItem; string[] commands = UserInput.Split(" "); if (commands.Length != 2 || commands[0].ToLower() != "hide") { menuItem.PrintInvalidOptionError(UserInput); return; } if (commands[1].ToLower() == "all") { gruntsMenuItem.HiddenGruntNames.AddRange(gruntsMenuItem.Grunts.Select(G => G.Name)); } Grunt grunt = gruntsMenuItem.Grunts.FirstOrDefault(G => G.Name == commands[1]); if (grunt == null) { EliteConsole.PrintFormattedErrorLine("Invalid GruntName: \"" + commands[1] + "\""); menuItem.PrintInvalidOptionError(UserInput); return; } EliteConsole.PrintFormattedWarning("Hide Grunt: " + commands[1] + "? [y/N] "); string input = EliteConsole.Read(); if (!input.ToLower().StartsWith("y")) { return; } gruntsMenuItem.HiddenGruntNames.Add(grunt.Name); }
public override void Command(MenuItem menuItem, string UserInput) { UsersMenuItem usersMenuItem = (UsersMenuItem)menuItem; usersMenuItem.Refresh(); string[] commands = UserInput.Split(" "); if (commands.Length != 2 || commands[0].ToLower() != "delete") { menuItem.PrintInvalidOptionError(UserInput); EliteConsole.PrintFormattedErrorLine("Usage: Delete <username>"); return; } CovenantUser user = usersMenuItem.Users.FirstOrDefault(U => U.UserName == commands[1]); if (user != null) { EliteConsole.PrintFormattedWarning("Delete user: \"" + commands[1] + "\"? [y/N] "); string input = EliteConsole.Read(); if (input.ToLower().StartsWith("y")) { this.CovenantClient.ApiUsersByUidDelete(user.Id); } } else { EliteConsole.PrintFormattedErrorLine("User: \"" + commands[1] + "\" does not exist."); } }
public override void Command(MenuItem menuItem, string UserInput) { GruntsMenuItem gruntsMenuItem = (GruntsMenuItem)menuItem; string[] commands = UserInput.Split(" "); if (commands.Length != 2 || commands[0].ToLower() != "kill") { menuItem.PrintInvalidOptionError(UserInput); return; } if (commands[1].ToLower() == "all") { EliteConsole.PrintFormattedWarning("Kill all Grunts? [y/N] "); string input1 = EliteConsole.Read(); if (!input1.ToLower().StartsWith("y")) { return; } gruntsMenuItem.HiddenGruntNames.AddRange(gruntsMenuItem.Grunts.Select(G => G.Name)); foreach (Grunt g in gruntsMenuItem.Grunts) { GruntTasking gt = new GruntTasking { Type = GruntTaskingType.Kill, GruntId = g.Id }; this.CovenantClient.ApiGruntsByIdTaskingsPost(g.Id ?? default, gt); } } Grunt grunt = gruntsMenuItem.Grunts.FirstOrDefault(G => G.Name == commands[1]); if (grunt == null) { EliteConsole.PrintFormattedErrorLine("Invalid GruntName: \"" + commands[1] + "\""); menuItem.PrintInvalidOptionError(UserInput); return; } EliteConsole.PrintFormattedWarning("Kill Grunt: " + commands[1] + "? [y/N] "); string input2 = EliteConsole.Read(); if (!input2.ToLower().StartsWith("y")) { return; } GruntTasking gruntTasking = new GruntTasking { Type = GruntTaskingType.Kill, GruntId = grunt.Id }; this.CovenantClient.ApiGruntsByIdTaskingsPost(grunt.Id ?? default, gruntTasking); }
public bool PrintMenu(string UserInput = "") { try { if (UserInput != "") { MenuItem currentMenuItem = this.GetCurrentMenuItem(); if (UserInput.ToLower() == "back") { if (this.MenuStack.Count > 1) { currentMenuItem.LeavingMenuItem(); this.MenuStack.RemoveAt(this.MenuStack.Count - 1); currentMenuItem = this.GetCurrentMenuItem(); currentMenuItem.ValidateMenuParameters(new string[] {}, false); } else { currentMenuItem.PrintInvalidOptionError(UserInput); } } else if (UserInput.ToLower() == "exit") { EliteConsole.PrintFormattedWarning("Exit Elite console? [y/N] "); string input = EliteConsole.Read(); if (input.ToLower().StartsWith("y")) { return(false); } } else { MenuItem newMenuLevelItem = currentMenuItem.GetMenuOption(UserInput); if (newMenuLevelItem != null) { this.MenuStack.Add(newMenuLevelItem); newMenuLevelItem.PrintMenu(); } else { MenuCommand menuCommandOption = currentMenuItem.GetMenuCommandOption(UserInput); if (menuCommandOption != null) { menuCommandOption.Command(currentMenuItem, UserInput); } else { currentMenuItem.PrintInvalidOptionError(UserInput); } } } currentMenuItem = this.GetCurrentMenuItem(); ReadLine.AutoCompletionHandler = currentMenuItem.TabCompletionHandler; } this.PrintMenuLevel(); return(true); } catch (HttpRequestException) { EliteConsole.PrintFormattedWarning("Covenant has disconnected. Quit? [y/N] "); string input = EliteConsole.Read(); if (input.ToLower().StartsWith('y')) { return(false); } } catch (Exception e) { EliteConsole.PrintFormattedErrorLine("EliteMenu Exception: " + e.Message); EliteConsole.PrintErrorLine(e.StackTrace); this.PrintMenuLevel(); return(true); } this.PrintMenuLevel(); return(true); }
public override async void Command(MenuItem menuItem, string UserInput) { GruntsMenuItem gruntsMenuItem = (GruntsMenuItem)menuItem; string[] commands = UserInput.Split(" "); if (commands.Length != 2 || !commands[0].Equals("kill", StringComparison.OrdinalIgnoreCase)) { menuItem.PrintInvalidOptionError(UserInput); return; } if (commands[1].Equals("all", StringComparison.OrdinalIgnoreCase)) { EliteConsole.PrintFormattedWarning("Kill all Grunts? [y/N] "); string input1 = EliteConsole.Read(); if (!input1.StartsWith("y", StringComparison.OrdinalIgnoreCase)) { return; } foreach (Grunt g in gruntsMenuItem.Grunts) { GruntTasking gt = new GruntTasking { Id = 0, GruntId = g.Id, TaskId = 1, Name = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10), Status = GruntTaskingStatus.Uninitialized, Type = GruntTaskingType.Kill, TaskingCommand = UserInput, TokenTask = false }; try { await this.CovenantClient.ApiGruntsByIdTaskingsPostAsync(g.Id ?? default, gt); } catch (HttpOperationException e) { EliteConsole.PrintFormattedWarningLine("CovenantException: " + e.Response.Content); } } return; } Grunt grunt = gruntsMenuItem.Grunts.FirstOrDefault(G => G.Name == commands[1]); if (grunt == null) { EliteConsole.PrintFormattedErrorLine("Invalid GruntName: \"" + commands[1] + "\""); menuItem.PrintInvalidOptionError(UserInput); return; } EliteConsole.PrintFormattedWarning("Kill Grunt: " + commands[1] + "? [y/N] "); string input2 = EliteConsole.Read(); if (!input2.StartsWith("y", StringComparison.OrdinalIgnoreCase)) { return; } GruntTasking gruntTasking = new GruntTasking { Id = 0, GruntId = grunt.Id, TaskId = 1, Name = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 10), Status = GruntTaskingStatus.Uninitialized, Type = GruntTaskingType.Kill, TaskingCommand = UserInput, TokenTask = false }; try { await this.CovenantClient.ApiGruntsByIdTaskingsPostAsync(grunt.Id ?? default, gruntTasking); } catch (HttpOperationException e) { EliteConsole.PrintFormattedWarningLine("CovenantException: " + e.Response.Content); } }