Beispiel #1
0
        private void ParseArguments(string[] args)
        {
            Hashtable arguments = new Hashtable();

            foreach (string arg in args)
            {
                if (arg.IndexOfAny(new char [] { '/', '-' }) != 0)
                {
                    throw new ApplicationException("Arguments must start with / or -");
                }

                string argname, argvalue;
                int    pos = arg.IndexOf(':');
                if (pos >= 0)
                {
                    argname  = arg.Substring(1, pos - 1).ToLower();
                    argvalue = arg.Substring(pos + 1);
                }
                else
                {
                    argname  = arg.Substring(1).ToLower();
                    argvalue = string.Empty;
                }

                if (argname != "s" && argname != "l" && argname != "dbn")
                {
                    throw new ApplicationException("Unknown argument name " + argname);
                }

                arguments.Add(argname.ToLower(), argvalue);
            }

            if (arguments["s"] == null && arguments["l"] == null)
            {
                throw new ApplicationException("At least one of the following arguments must be specified: /s, /l.");
            }

            if (arguments["s"] != null)
            {
                _setupDatabase = true;
            }

            if (arguments["l"] != null)
            {
                switch (arguments["l"].ToString().ToLower())
                {
                case "t":
                    _loadDataAction = LoadDataAction.Test;
                    break;

                default:
                    throw new ApplicationException("invalid argument parameter \"" + arguments["l"].ToString() + "\" for parameter /l");
                }
            }

            if (arguments["dbn"] != null)
            {
                _databaseName = arguments["dbn"].ToString();
            }
        }
Beispiel #2
0
        }     // LoadData<T>

        public static TData LoadData <TDbData, TData>(SqlCeDataReader reader, int dataIndex, int dataAltIdex, LoadDataAction <TDbData, TData> load)
            where TDbData : class
            where TData : class
        {
            var data = LoadData <TDbData>(reader, dataIndex, dataAltIdex);

            return(load(data, reader));
        } // LoadData<T>