CLParser.CLP.Cmdline C# (CSharp) Method

Cmdline() public static method

public static Cmdline ( string args ) : void
args string
return void
        public static void Cmdline(string[] args)
        {
            int numargs = args.GetLength(0);
            string arg;

            if (numargs > 0)
            {
                foreach (string cmd in args)
                {
                    //select tpc benchmark type defaults to c
                    //not implemented yet
                    if (cmd.ToLower().Contains("\\b:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();

                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.BenchType = arg;
                    }
                        //number of warehouses
                    else if (cmd.ToLower().Contains("\\wh:"))
                    {
                        arg = cmd.Remove(0, 4);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.WH = Convert.ToInt32(arg);
                    }
                        //number of clients
                    else if (cmd.ToLower().Contains("\\c:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.NumClients = Convert.ToInt32(arg);
                    }
                        //Client sleep cycle maximum
                    else if (cmd.ToLower().Contains("\\cs:"))
                    {
                        arg = cmd.Remove(0, 4);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.ClientSleepSec = Convert.ToInt32(arg)*1000;
                    }

                        //percent new orders
                    else if (cmd.ToLower().Contains("\\pno:"))
                    {
                        arg = cmd.Remove(0, 5);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.PNO = Convert.ToInt32(arg);
                    }

                        //percent new order status
                    else if (cmd.ToLower().Contains("\\pos:"))
                    {
                        arg = cmd.Remove(0, 5);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.POS = Convert.ToInt32(arg);
                    }

                        //percent pament
                    else if (cmd.ToLower().Contains("\\pp:"))
                    {
                        arg = cmd.Remove(0, 4);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.PP = Convert.ToInt32(arg);
                    }

                        //percent dilivery
                    else if (cmd.ToLower().Contains("\\pd:"))
                    {
                        arg = cmd.Remove(0, 4);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.PD = Convert.ToInt32(arg);
                    }

                        //percent stock lookup
                    else if (cmd.ToLower().Contains("\\psl:"))
                    {
                        arg = cmd.Remove(0, 5);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.PSL = Convert.ToInt32(arg);
                    }

                        //server name
                    else if (cmd.ToLower().Contains("\\s:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.ServerName = arg;
                    }
                        //database name
                    else if (cmd.ToLower().Contains("\\d:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.DatabaseName = arg;
                        //Globals.DatabaseName = Globals.DatabaseName.Trim;
                    }
                        //user name
                    else if (cmd.ToLower().Contains("\\u:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.UserName = arg;
                        //Globals.UserName = Globals.UserName.Trim;
                    }
                        //fixed number of loops
                    else if (cmd.ToLower().Contains("\\nl:"))
                    {
                        arg = cmd.Remove(0, 4);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.NumLoops = Convert.ToInt32(arg);
                    }
                        //password
                    else if (cmd.ToLower().Contains("\\p:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.Password = arg;
                        //Globals.Password = Globals.Password.Trim;
                    }
                        //logging level debug,info,query,error,warn
                    else if (cmd.ToLower().Contains("\\l:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.StrLoggingLevel = arg;
                        //Globals.UserName = Globals.UserName.Trim;
                    }
                        //trusted
                    else if (cmd.ToLower().Contains("\\t"))
                    {
                        Globals.Trusted = "true";
                    }

                        //use stored procedures
                    else if (cmd.ToLower().Contains("\\sp"))
                    {
                        Globals.StoredProc = 1;
                    }
                        //full out writes to a table
                    else if (cmd.ToLower().Contains("\\rw"))
                    {
                        Globals.RawWrite = 1;
                    }
                        //write to Heartbeat table
                    else if (cmd.ToLower().Contains("\\hb"))
                    {
                        Globals.Heartbeat = 1;
                    }

                        //Stagger Client load
                    else if (cmd.ToLower().Contains("\\stl:"))
                    {
                        arg = cmd.Remove(0, 5);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }

                        Globals.StaggeredLoad = Convert.ToInt32(arg)*1000;
                    }

                        //show help
                    else if (cmd.ToLower().Contains("\\?"))
                    {
                        Showhelp();
                        Globals.Err = 2;
                    }
                        //log to console
                        //for debugging only
                    else if (cmd.ToLower().Contains("\\lc"))
                    {
                        Globals.LogToConsole = 1;
                    }

                        //run time
                    else if (cmd.ToLower().Contains("\\m:"))
                    {
                        arg = cmd.Remove(0, 3);
                        arg = arg.Trim();
                        if (arg.Length == 0)
                        {
                            Globals.Err = 1;
                            Console.WriteLine(cmd + " no valid argument after identifier");
                            Showhelp();
                            break;
                        }
                        Globals.MaxRunTimeMin = Convert.ToInt32(arg);
                        //Globals.MaxRunTimeMin = Convert.ToInt32(cmd);
                    }
                    else
                    {
                        Console.WriteLine("invalid arguements specified");
                        Console.WriteLine(cmd + " is incorrect");
                        Showhelp();
                        Globals.Err = 1;
                        break;
                    }
                }
            }
            else
            {
                Console.WriteLine("No arguements specified.");
                Showhelp();
                Globals.Err = 1;
            }

            if (!((Globals.PD + Globals.PNO + Globals.POS + Globals.PP + Globals.PSL) == 100))
            {
                Console.WriteLine(Globals.PD + Globals.PNO + Globals.POS + Globals.PP + Globals.PSL);
                Console.WriteLine(
                    "You must specifiy all work load variables and they must total 100. Please correct and run again");
                Globals.Err = 1;
            }
        }