private static Action ParseAction()

in code/Tools/Ops/ManageApps/Program.cs [116:252]


        private static Action ParseAction(string[] args)
        {
            Action action = Action.None;

            if (args.Length > 0 && args[0].StartsWith("-Name=", StringComparison.CurrentCultureIgnoreCase))
            {
                int prefixLen = "-Name=".Length;
                environmentName = args[0].Substring(prefixLen);
            }
            else
            {
                Usage();
                Environment.Exit(0);
            }

            if (args.Length > 1)
            {
                if (args[1].Equals("-CreateApp", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateApp;
                }
                else if (args[1].Equals("-CreateAppAdmin", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateAppAdmin;
                }
                else if (args[1].Equals("-CreateAppKey", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateAppKey;
                }
                else if (args[1].Equals("-CreateAppAndDeveloper", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateAppAndDeveloper;
                }
                else if (args[1].Equals("-CreateClientNameAndConfig", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateClientNameAndConfig;
                }
                else if (args[1].Equals("-CreateUserAsAppAdmin", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.CreateUserAsAppAdmin;
                }
                else if (args[1].Equals("-DeleteApp", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.DeleteApp;
                }
                else if (args[1].Equals("-DeleteAppAdmin", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.DeleteAppAdmin;
                }
                else if (args[1].Equals("-DeleteAppKey", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.DeleteAppKey;
                }
                else if (args[1].Equals("-DeleteClientNameAndConfig", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.DeleteClientNameAndConfig;
                }
                else if (args[1].Equals("-GetApp", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetApp;
                }
                else if (args[1].Equals("-GetAppAdmin", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetAppAdmin;
                }
                else if (args[1].Equals("-GetAppDeveloperId", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetAppDeveloperId;
                }
                else if (args[1].Equals("-GetAppHandle", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetAppHandle;
                }
                else if (args[1].Equals("-GetAppKeys", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetAppKeys;
                }
                else if (args[1].Equals("-GetAppList", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetAppList;
                }
                else if (args[1].Equals("-GetIdentityProvider", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetIdentityProvider;
                }
                else if (args[1].Equals("-GetPush", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetPush;
                }
                else if (args[1].Equals("-GetValidation", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.GetValidation;
                }
                else if (args[1].Equals("-UpdateAppProfile", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.UpdateAppProfile;
                }
                else if (args[1].Equals("-UpdateIdentityProvider", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.UpdateIdentityProvider;
                }
                else if (args[1].Equals("-UpdatePush", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.UpdatePush;
                }
                else if (args[1].Equals("-UpdateValidation", StringComparison.CurrentCultureIgnoreCase))
                {
                    action = Action.UpdateValidation;
                }
                else
                {
                    Usage();
                    Environment.Exit(0);
                }
            }
            else
            {
                Usage();
                Environment.Exit(0);
            }

            if (string.IsNullOrWhiteSpace(environmentName))
            {
                Console.WriteLine("Usage error: environment name not specified.");
                Usage();
                Environment.Exit(0);
            }

            if (action == Action.None)
            {
                Console.WriteLine("Usage error: must specify one action to perform.");
                Usage();
                Environment.Exit(0);
            }

            return action;
        }