Beispiel #1
0
        /// <summary>
        /// 生成输入的车型配置对应的编码
        /// 并封装到LoaderCode类
        /// 默认enterLoaderConfig输入是有效的,不少不多,但是允许每项输入错别字,有效性交由UI控制。
        /// </summary>
        /// <param name="loaderConfigBase"></param>
        /// <returns></returns>
        private LoaderCode CreateCode(string enterLoaderConfig, out LoaderCode reLoaderCode)
        {
            object baseSingleResult = null;

            string[] tmpArray;
            string[] loaderConfigArray = enterLoaderConfig.Split('/');
            string   code = null;
            int      id = 1, col = 0;//col = 0,
            bool     judgeFlag = false;

            reLoaderCode = null;
            LoaderCodeService loaderCodeService = new LoaderCodeService();
            LoaderCode        loaderCode        = new LoaderCode();

            loaderCode.wholeConfigration = enterLoaderConfig;
            for (col = 0; col < paramNumStr.Length; col++)
            //foreach (string itemLoaderConfig in loaderConfigArray)
            {
                if (paramNumStr[col] == "optional")
                {
                    if ((reLoaderCode = JudgeLoaderCodeRepeat(loaderCode, JudgePara.usewholeConfigration)) == null)
                    {
                        int tmpNum = JudgeLoaderCodeRepeat(code);
                        if (tmpNum < 10)
                        {
                            code += 0;
                        }
                        code += tmpNum;
                        break;
                    }
                    return(null);
                }
                while ((baseSingleResult = loaderCodeService.GetLoaderConfigrationBaseSingle(paramNumStr[col], id++)) != null)
                {
                    tmpArray = baseSingleResult.ToString().Split(':');

                    if ((id < 16) && (String.Compare(tmpArray[0], loaderConfigArray[col]) == 0))
                    {
                        code      = String.Concat(code, tmpArray[1]);
                        judgeFlag = true;
                        break;
                    }
                }
                id = 1;
                if (judgeFlag == false)
                {
                    code = String.Concat(code, "*");
                }
                judgeFlag = false;
            }
            loaderCode.wholeCode = code;
            return(loaderCode);
        }