using Models; using System; using System.Collections.Generic; namespace Common { /// /// 香港彩帮助类 /// public static class HongKongHelper { /// /// 获取香港彩开奖号特征 /// /// /// public static List GetHongKongLotteryAttr(List opencode) { try { List res = new List(); foreach (string codestring in opencode) { int code = Convert.ToInt32(codestring); //确定波色 BoSeType boSeType = GetBoSeTypeByOpenCode(code); //确定生肖 ShengXiaoType shengXiaoType = GetShengXiaoTypeByOpenCode(code); //确定五行 WuXingType wuXingType = GetWuXingTypeByOpenCode(code); HongKongLottery lottery = new HongKongLottery { OpenCode = code, LotteryAttrItem = new LotteryAttrItem { BoSeType = boSeType, ShengXiao= EnumHelper.GetLotteryText(shengXiaoType), WuXing = EnumHelper.GetLotteryText(wuXingType) } }; res.Add(lottery); } return res; } catch (Exception e) { return null; } } #region 常量值 #region 外部使用 /// /// 波色基础数据字典 /// public static readonly Dictionary> BoSeDict = new Dictionary> { { BoSeType.Red, new List{1,2,7,8,12,13,18,19,23,24,29,30,34,35,40,45,46}}, { BoSeType.Blue,new List{3,4,9,10,14,15,20,25,26,31,36,37,41,42,47,48}}, { BoSeType.Green,new List{5,6,11,16,17,21,22,27,28,32,33,38,39,43,44,49}} }; /// /// 生肖基础数据字典,以2018年为基准。此数据由于每年都在变化,因此数据有变化时,请及时修改 /// public static readonly Dictionary> ShengXiaoDict = new Dictionary> { { ShengXiaoType.Shu,new List{11,23,35,47}}, { ShengXiaoType.Niu,new List{10,22,34,46}}, { ShengXiaoType.Hu,new List{9,21,33,45}}, { ShengXiaoType.Tu,new List{8,20,32,44}}, { ShengXiaoType.Long,new List{7,19,31,43}}, { ShengXiaoType.She,new List{6,18,30,42}}, { ShengXiaoType.Ma,new List{5,17,29,41}}, { ShengXiaoType.Yang,new List{4,16,28,40}}, { ShengXiaoType.Hou,new List{3,15,27,39}}, { ShengXiaoType.Ji,new List{2,14,26,38}}, { ShengXiaoType.Gou,new List{1,13,25,37,49}}, { ShengXiaoType.Zhu,new List{12,24,36,48}}, }; /// /// 五行基础数据字典 /// public static readonly Dictionary> WuXingDict = new Dictionary> { { WuXingType.Jin,new List{4,5,18,19,26,27,34,35,48,49}}, { WuXingType.Mu,new List{1,8,9,16,17,47,30,31,38,39,46}}, { WuXingType.Shui,new List{6,7,14,15,22,23,36,37,44,45}}, { WuXingType.Huo,new List{2,3,10,11,24,25,32,33,40,41}}, { WuXingType.Tu,new List{12,13,20,21,28,29,42,43}} }; #endregion #region 内部使用 /// /// 波色基础数据字典 /// private static readonly Dictionary, BoSeType> BoSeDictionary = new Dictionary, BoSeType> { { new List{1,2,7,8,12,13,18,19,23,24,29,30,34,35,40,45,46},BoSeType.Red}, { new List{3,4,9,10,14,15,20,25,26,31,36,37,41,42,47,48},BoSeType.Blue}, { new List{5,6,11,16,17,21,22,27,28,32,33,38,39,43,44,49},BoSeType.Green} }; /// /// 生肖基础数据字典,以2018年为基准。此数据由于每年都在变化,因此数据有变化时,请及时修改 /// private static readonly Dictionary, ShengXiaoType> ShengXiaoDictionary = new Dictionary, ShengXiaoType> { { new List{1,13,25,37,49},ShengXiaoType.Gou}, { new List{12,24,36,48},ShengXiaoType.Zhu}, { new List{11,23,35,47},ShengXiaoType.Shu}, { new List{10,22,34,46},ShengXiaoType.Niu}, { new List{9,21,33,45},ShengXiaoType.Hu}, { new List{8,20,32,44},ShengXiaoType.Tu}, { new List{7,19,31,43},ShengXiaoType.Long}, { new List{6,18,30,42},ShengXiaoType.She}, { new List{5,17,29,41},ShengXiaoType.Ma}, { new List{4,16,28,40},ShengXiaoType.Yang}, { new List{3,15,27,39},ShengXiaoType.Hou}, { new List{2,14,26,38},ShengXiaoType.Ji} }; /// /// 五行基础数据字典 /// private static readonly Dictionary, WuXingType> WuXingDictionary = new Dictionary, WuXingType> { { new List{4,5,18,19,26,27,34,35,48,49},WuXingType.Jin}, { new List{1,8,9,16,17,47,30,31,38,39,46},WuXingType.Mu}, { new List{6,7,14,15,22,23,36,37,44,45},WuXingType.Shui}, { new List{2,3,10,11,24,25,32,33,40,41},WuXingType.Huo}, { new List{12,13,20,21,28,29,42,43},WuXingType.Tu} }; #endregion 常量值 #endregion #region 枚举 /// /// 波色类型 /// public enum BoSeType { /// /// 红波 /// Red = 0, /// /// 蓝波 /// Blue, /// /// 绿波 /// Green } /// /// 生肖类型 /// public enum ShengXiaoType { /// /// 鼠 /// [Text("鼠")] Shu = 0, /// /// 牛 /// [Text("牛")] Niu, /// /// 虎 /// [Text("虎")] Hu, /// /// 兔 /// [Text("兔")] Tu, /// /// 龙 /// [Text("龙")] Long, /// /// 蛇 /// [Text("蛇")] She, /// /// 马 /// [Text("马")] Ma, /// /// 羊 /// [Text("羊")] Yang, /// /// 猴 /// [Text("猴")] Hou, /// /// 鸡 /// [Text("鸡")] Ji, /// /// 狗 /// [Text("狗")] Gou, /// /// 猪 /// [Text("猪")] Zhu } /// /// 五行类型 /// public enum WuXingType { /// /// 金 /// [Text("金")] Jin = 0, /// /// 木 /// [Text("木")] Mu, /// /// 水 /// [Text("水")] Shui, /// /// 火 /// [Text("火")] Huo, /// /// 土 /// [Text("土")] Tu } #endregion 枚举 #region 私有方法 /// /// 获取某个开奖号的波色 /// /// /// private static BoSeType GetBoSeTypeByOpenCode(int opencode) { if (opencode < 0) return BoSeType.Red; foreach (KeyValuePair, BoSeType> pair in BoSeDictionary) { List dictCodes = pair.Key; if (dictCodes.Contains(opencode)) { return pair.Value; } } return BoSeType.Red; } /// /// 获取某个开奖号的生肖 /// /// /// private static ShengXiaoType GetShengXiaoTypeByOpenCode(int opencode) { if (opencode < 0) return ShengXiaoType.Shu; foreach (KeyValuePair, ShengXiaoType> pair in ShengXiaoDictionary) { List dictCodes = pair.Key; if (dictCodes.Contains(opencode)) { return pair.Value; } } return ShengXiaoType.Shu; } /// /// 获取某个开奖号的五行 /// /// /// private static WuXingType GetWuXingTypeByOpenCode(int opencode) { if (opencode < 0) return WuXingType.Jin; foreach (KeyValuePair, WuXingType> pair in WuXingDictionary) { List dictCodes = pair.Key; if (dictCodes.Contains(opencode)) { return pair.Value; } } return WuXingType.Jin; } #endregion #region 实体 /// /// 香港彩开奖号特性 /// public class HongKongLottery { public int OpenCode { get; set; } public LotteryAttrItem LotteryAttrItem { get; set; } } public class LotteryAttrItem { /// /// 波色 /// public BoSeType BoSeType { get; set; } /// /// 生肖 /// public string ShengXiao { get; set; } /// /// 五行 /// public string WuXing { get; set; } } #endregion } }