Пример #1
0
        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
        }
Пример #2
0
 /// <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);
 }