Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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.");
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
            }
        }