示例#1
0
        /// <summary>
        /// 检查一个单独号码的格式
        /// </summary>
        /// <param name="antecodeNumber">号码</param>
        /// <param name="errMsg">错误信息</param>
        /// <returns>格式是否正确</returns>
        public bool CheckAntecodeNumber(ISportAnteCode antecode, out string errMsg)
        {
            // 前置验证 - 彩种、玩法、投注号码
            PreconditionAssert.IsNotEmptyString(GameCode, "检查中奖号码格式前,必须设置彩种");
            PreconditionAssert.IsNotNull(antecode, "必须传入非空的比赛结果");
            PreconditionAssert.IsNotEmptyString(antecode.MatchId, "必须传入比赛编号");
            PreconditionAssert.IsNotEmptyString(antecode.AnteCode, "必须传入比赛投注号码");

            var tmpList = antecode.AnteCode.Split(Spliter);

            if (tmpList.Length != tmpList.GroupBy(c => c).Count())
            {
                errMsg = "有重复的投注号码 - " + antecode.AnteCode;
                return(false);
            }
            _anteCodes = EffectiveAnteCode.Split(Spliter);
            foreach (var item in tmpList)
            {
                if (!_anteCodes.Contains(item))
                {
                    errMsg = "比赛投注号码必须在\"" + EffectiveAnteCode + "\"范围内,实际为 - " + item;
                    return(false);
                }
            }
            errMsg = "";
            return(true);
        }
 /// <summary>
 /// 检查一个单独号码的格式
 /// </summary>
 /// <param name="antecodeNumber">号码</param>
 /// <param name="errMsg">错误信息</param>
 /// <returns>格式是否正确</returns>
 public bool CheckOneAntecodeNumber(string antecodeNumber, out string errMsg, string type = null)
 {
     if (antecodeNumber.Length != antecodeNumber.GroupBy(c => c).Count())
     {
         errMsg = "有重复的投注号码 - " + antecodeNumber;
         return(false);
     }
     foreach (var item in antecodeNumber)
     {
         if (!EffectiveAnteCode.Contains(item))
         {
             errMsg = "号码必须在\"" + string.Join(",", EffectiveAnteCode.ToArray()) + "\"范围内 - " + antecodeNumber;
             return(false);
         }
     }
     errMsg = "";
     return(true);
 }