static MemberLevel() { #region 初始化默认会员权益 var ds = new DataSet(); //根据单元测试url节点配置读取路径 ds.ReadXml(string.IsNullOrEmpty(ConfigurationManager.AppSettings["UnitTestMemberLevelConfigUrl"]) ? string.Concat(AppDomain.CurrentDomain.BaseDirectory, "config\\config.xml") : string.Concat(ConfigurationManager.AppSettings["UnitTestMemberLevelConfigUrl"], "config\\config.xml")); //if(AppConfig.Website_DB_Name) //ds.ReadXml(string.Concat(AppConfig.CurrentDirectory, "config\\config.xml")); //ds.ReadXml(string.Concat(AppDomain.CurrentDomain.BaseDirectory, "config\\config.xml")); if (ds == null) { throw new NullReferenceException("初始化配置文件config.xml读取失败"); } DataTable dt = ds.Tables["MemberInterest"]; if (dt == null || dt.Rows.Count == 0) { throw new NullReferenceException("初始化配置文件已读取,但未找到MemberInterest配置节点"); } AllLevel = new Dictionary<string, MemberLevel>(); foreach (DataRow dr in dt.Rows) { var memberLevel = new MemberLevel(); if (dr["MemberLevel"] as string == null) //允许 string.Empty 但不允许null; { continue; } memberLevel.ID = dr["MemberLevel"] as string; memberLevel.Description = dr["Description"] as string; memberLevel.Category = dr["Category"] as string; memberLevel.KeepTime = dr["KeepTime"] as string; memberLevel.DepTime = dr["DepTime"] as string; memberLevel.ExPoint = Convert.ToDecimal(dr["ExPoint"] as string); if (!AllLevel.ContainsKey(memberLevel.ID)) { AllLevel.Add(memberLevel.ID, memberLevel); } else { HZLogger.Warn(string.Format("警告:MemberLevel配置文件定义了重复的MemberLevelKey")); } } if (!AllLevel.TryGetValue(MemberLevel_Guest, out Guest)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Guest"); } if (!AllLevel.TryGetValue(MemberLevel_ENetVip, out ENetVip)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_ENetVip"); } if (!AllLevel.TryGetValue(MemberLevel_NomarlVip, out NomarlVip)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_NomarlVip"); } if (!AllLevel.TryGetValue(MemberLevel_GoldVip, out GoldVip)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_GoldVip"); } if (!AllLevel.TryGetValue(MemberLevel_PlatinumVip, out PlatinumVip)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_PlatinumVip"); } if (!AllLevel.TryGetValue(MemberLevel_Company_C, out Company_C)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Company_C"); } if (!AllLevel.TryGetValue(MemberLevel_Company_D, out Company_D)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Company_D"); } if (!AllLevel.TryGetValue(MemberLevel_Company_J, out Company_J)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Company_J"); } if (!AllLevel.TryGetValue(MemberLevel_Company_K, out Company_K)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Company_K"); } if (!AllLevel.TryGetValue(MemberLevel_Company_R, out Company_R)) { HZLogger.Warn("警告:MemberLevel未配置定义MemberLevel_Company_K"); } #endregion }
/// <summary> /// /// </summary> /// <param name="pMemberLevel"></param> /// <param name="pResult"></param> /// <returns></returns> public static bool TryParse(string pMemberLevel, out MemberLevel pResult) { return AllLevel.TryGetValue(MemberLevel_Guest, out pResult); }