예제 #1
0
        public string SetPassword(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() < 2)
            {
                return("Invalid arguments. Type 'help account setpassword' to get help.");
            }

            var email    = @params[0];
            var password = @params[1];

            var account = AccountManager.GetAccountByEmail(email);

            if (account == null)
            {
                return(string.Format("No account with email '{0}' exists.", email));
            }

            if (password.Length < 8 || password.Length > 16)
            {
                return("Password should be a minimum of 8 and a maximum of 16 characters.");
            }

            AccountManager.UpdatePassword(account, password);
            return(string.Format("Updated password for account {0}.", email));
        }
예제 #2
0
        public string Delete(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() == 0)
            {
                return("Invalid arguments. Type 'help account delete' to get help.");
            }

            var account = AccountManager.GetAccountByEmail(@params[0]);

            if (account == null)
            {
                return(string.Format("No account with email '{0}' exists.", @params));
            }

            //Delete game accounts for account
            //which in turn will delete toons for each game account
            foreach (var gameAccount in GameAccountManager.GetGameAccountsForAccount(account))
            {
                GameAccountManager.DeleteGameAccount(gameAccount);
            }

            AccountManager.DeleteAccount(account);

            return(string.Format("Deleted account {0}.", @params));
        }
예제 #3
0
        public string Add(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() < 2)
            {
                return("Invalid arguments. Type 'help account add' to get help.");
            }

            var email     = @params[0];
            var password  = @params[1];
            var userLevel = Account.UserLevels.User;

            if (@params.Count() == 3)
            {
                var level = @params[2].ToLower();
                switch (level)
                {
                case "owner":
                    userLevel = Account.UserLevels.Owner;
                    break;

                case "admin":
                    userLevel = Account.UserLevels.Admin;
                    break;

                case "gm":
                    userLevel = Account.UserLevels.GM;
                    break;

                case "user":
                    userLevel = Account.UserLevels.User;
                    break;

                default:
                    return(level + " is not a valid user level.");
                }
            }

            if (!email.Contains('@'))
            {
                return(string.Format("'{0}' is not a valid email address.", email));
            }

            if (password.Length < 8 || password.Length > 16)
            {
                return("Password should be a minimum of 8 and a maximum of 16 characters.");
            }

            if (AccountManager.GetAccountByEmail(email) != null)
            {
                return(string.Format("An account already exists for email address {0}.", email));
            }

            var account = AccountManager.CreateAccount(email, password, userLevel);

            return(string.Format("Created new account {0} [user-level: {1}].", account.Email, account.UserLevel));
        }
예제 #4
0
        public string Show(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() < 1)
            {
                return("Invalid arguments. Type 'help account show' to get help.");
            }

            var email   = @params[0];
            var account = AccountManager.GetAccountByEmail(email);

            if (account == null)
            {
                return(string.Format("No account with email '{0}' exists.", email));
            }

            return(string.Format("Email: {0} User Level: {1}", account.Email, account.UserLevel));
        }
예제 #5
0
        public string SetLevel(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() < 2)
            {
                return("Invalid arguments. Type 'help account setuserlevel' to get help.");
            }

            var email = @params[0];
            var level = @params[1].ToLower();

            Account.UserLevels userLevel;

            var account = AccountManager.GetAccountByEmail(email);

            if (account == null)
            {
                return(string.Format("No account with email '{0}' exists.", email));
            }

            switch (level)
            {
            case "owner":
                userLevel = Account.UserLevels.Owner;
                break;

            case "admin":
                userLevel = Account.UserLevels.Admin;
                break;

            case "gm":
                userLevel = Account.UserLevels.GM;
                break;

            case "user":
                userLevel = Account.UserLevels.User;
                break;

            default:
                return(level + " is not a valid user level.");
            }

            account.UpdateUserLevel(userLevel);
            return(string.Format("Updated user level for account {0} [user-level: {1}].", email, userLevel));
        }
예제 #6
0
        public string Delete(string[] @params, MooNetClient invokerClient)
        {
            if (@params.Count() == 0)
            {
                return("Invalid arguments. Type 'help account delete' to get help.");
            }

            var account = AccountManager.GetAccountByEmail(@params[0]);

            if (account == null)
            {
                return(string.Format("No account with email '{0}' exists.", @params));
            }

            //Delete toons of the account.
            foreach (var toon in ToonManager.GetToonsForAccount(account).Values)
            {
                ToonManager.DeleteToon(toon);
            }

            AccountManager.DeleteAccount(account);

            return(string.Format("Deleted account {0}.", @params));
        }