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
}
}