/// <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); }