123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using CB.Common;
- using CB.Entity;
- namespace CB.Admin.Plugins.OpenCode
- {
- public class OpenCodeRuleViolation
- {
- /// <summary>
- /// 验证输入的开奖信息是否正确
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="entity"></param>
- /// <param name="OpenCodeLength">开奖号码长度</param>
- /// <returns></returns>
- public static Tuple<bool, string> ViolationOpenCode<T>(T entity) where T : LotteryOpenCode
- {
- if (null == entity)
- {
- return new Tuple<bool, string>(false, "验证失败,请填写必要数据!");
- }
- if (0 >= entity.Term)
- {
- return new Tuple<bool, string>(false, "期数不正确!");
- }
- if (entity.OpenTime == DateTime.MinValue)
- {
- return new Tuple<bool, string>(false, "开奖时间不正确!");
- }
- Type type = typeof(T);
- #region 福彩3D验证
- if (typeof(FC3DInfo) == type) //福彩3D验证
- {
- if (entity.KaiJiHao.IndexOf("-1", StringComparison.InvariantCulture) >= 0)
- {
- return new Tuple<bool, string>(false, "开机号码必须填写!");
- }
- //开机号验证
- var list = new List<int>();
- foreach (var str in entity.KaiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str, -1));
- }
- if (list.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 3)
- {
- return new Tuple<bool, string>(false, "开机号码不正确!");
- }
- //试机号验证
- if (entity.ShiJiHao.IndexOf("-1", StringComparison.InvariantCulture) == -1)
- {
- list = new List<int>();
- foreach (var str in entity.ShiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str, -1));
- }
- if (list.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 3)
- {
- return new Tuple<bool, string>(false, "试机号码不正确!");
- }
- }
- //开奖号码验证
- if (entity.OpenCode.Count(s => s <= -1) != 3)
- {
- if (entity.OpenCode.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 3)
- {
- return new Tuple<bool, string>(false, "开奖号码不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region 七乐彩验证
- if (typeof(FCQLCInfo) == type)
- {
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 8)
- {
- if (entity.OpenCode.Where(s => { return (s > 0 && s <= 30); }).ToList().Count != 8)
- {
- return new Tuple<bool, string>(false, "开奖号码不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region 福彩双色球验证
- if (typeof(FCSSQInfo) == type)
- {
- if (entity.KaiJiHao.IndexOf("-1", StringComparison.InvariantCulture) >= 0)
- {
- return new Tuple<bool, string>(false, "开机号码必须填写!");
- }
- //开机号验证
- var list = new List<int>();
- foreach (var str in entity.KaiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str));
- }
- if (list.Take(6).Where(s => { return (s >= 1 && s <= 33); }).ToList().Count != 6)
- {
- return new Tuple<bool, string>(false, "开机号红球不正确!");
- }
- if (list[6] <= 0 || list[6] > 16)
- {
- return new Tuple<bool, string>(false, "开机号篮球不正确");
- }
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 7)
- {
- if (entity.OpenCode.Take(6).Where(s => { return (s >= 1 && s <= 33); }).ToList().Count != 6)
- {
- return new Tuple<bool, string>(false, "开奖号码红球不正确!");
- }
- if (entity.OpenCode[6] <= 0 || entity.OpenCode[6] > 16)
- {
- return new Tuple<bool, string>(false, "开奖号码篮球不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region P3验证
- if (typeof(TCP3Info) == type)
- {
- if (entity.KaiJiHao.IndexOf("-1", StringComparison.InvariantCulture) >= 0)
- {
- return new Tuple<bool, string>(false, "开机号码必须填写!");
- }
- var list = new List<int>();
- foreach (var str in entity.KaiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str,-1));
- }
- if (list.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 3)
- {
- return new Tuple<bool, string>(false, "开机号码不正确!");
- }
- //试机号验证
- if (entity.ShiJiHao.IndexOf("-1", StringComparison.InvariantCulture) == -1)
- {
- list = new List<int>();
- foreach (var str in entity.ShiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str, -1));
- }
- if (list.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 3)
- {
- return new Tuple<bool, string>(false, "试机号码不正确!");
- }
- }
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 5)
- {
- if (entity.OpenCode.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 5)
- {
- return new Tuple<bool, string>(false, "开奖号码不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region 七星彩验证
- if (typeof(TCQXCInfo) == type)
- {
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 7)
- {
- if (entity.OpenCode.Where(s => { return (s >= 0 && s <= 9); }).ToList().Count != 7)
- {
- return new Tuple<bool, string>(false, "开奖号码不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region 大乐透验证
- if (typeof(TCDLTInfo) == type)
- {
- if (entity.KaiJiHao.IndexOf("-1", StringComparison.InvariantCulture) >= 0)
- {
- return new Tuple<bool, string>(false, "开机号码必须填写!");
- }
- //开机号验证
- var list = new List<int>();
- foreach (var str in entity.KaiJiHao.Split(','))
- {
- list.Add(TypeConverter.StrToInt(str, -1));
- }
- if (list.Take(5).Where(s => { return (s >= 1 && s <= 35); }).ToList().Count != 5)
- {
- return new Tuple<bool, string>(false, "开机号前区不正确!");
- }
- if (list[6] <= 0 || list[6] > 12 || list[5] <= 0 || list[5] > 12)
- {
- return new Tuple<bool, string>(false, "开机号后区不正确");
- }
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 7)
- {
- if (entity.OpenCode.Take(5).Where(s => { return (s >= 1 && s <= 35); }).ToList().Count != 5)
- {
- return new Tuple<bool, string>(false, "开奖号码前区不正确!");
- }
- if (entity.OpenCode[6] <= 0 || entity.OpenCode[6] > 12 || entity.OpenCode[5] <= 0 || entity.OpenCode[5] > 12)
- {
- return new Tuple<bool, string>(false, "开奖号码后区不正确!");
- }
- }
- return new Tuple<bool, string>(true, "验证通过!");
- }
- #endregion
- #region 好彩1验证
- if (typeof (HC1Info) == type)
- {
- //开奖号码验证
- if (entity.OpenCode.Count(s => s == -1) != 1)
- {
- if (entity.OpenCode.Where(s => { return (s >= 1 && s <= 36); }).ToList().Count != 1)
- {
- return new Tuple<bool, string>(false, "开奖号码不正确!");
- }
- }
- }
- #endregion
- return new Tuple<bool, string>(true, "验证成功");
- }
- }
- }
|