protected void btnCreateUpdate_Click(object sender, EventArgs e)
        {
            if (!HasWriteAccess)
                return;

            if (!ValidatePlanInfo())
                return;

            UserLevelRestrictions restrictions = 
                (UserLevelRestrictions)Reflection.SaveTableSettings(phLevelRestrictions, typeof(UserLevelRestrictions));

            if (hidCurrentLevelID.Value == "")
            {
                //create new level
                UserLevel level = new UserLevel(txtName.Text, Convert.ToInt32(txtMinScore.Text));

                level.Restrictions = restrictions;
                level.Save();
            }
            else
            {
                //update current one
                UserLevel level = UserLevel.Load(Convert.ToInt32(hidCurrentLevelID.Value));

                level.Name = txtName.Text;
                level.MinScore = Convert.ToInt32(txtMinScore.Text);
                level.Restrictions = restrictions;
                level.Save();
            }

            hidCurrentLevelID.Value = "";
            pnlUserLevelInfo.Visible = false;
            PopulateDataGrid();
        }
Beispiel #2
0
        public static UserLevel[] LoadAll()
        {
            string cacheKey = String.Format("UserLevel_LoadAll");
            if (HttpContext.Current != null && HttpContext.Current.Cache[cacheKey] != null)
            {
                return HttpContext.Current.Cache[cacheKey] as UserLevel[];
            }

            List<UserLevel> lLevels = new List<UserLevel>();

            using (SqlConnection conn = Config.DB.Open())
            {
                SqlDataReader reader = SqlHelper.ExecuteReader(conn, "FetchUserLevels", null);

                while (reader.Read())
                {
                    UserLevel level = new UserLevel();

                    level.id = (int) reader["Id"];
                    level.name = (string) reader["Name"];
                    level.minScore = (int) reader["MinScore"];
                    level.restrictions = reader["Restrictions"] as string != null
                                             ? Misc.FromXml<UserLevelRestrictions>((string) reader["Restrictions"])
                                             : new UserLevelRestrictions();

                    lLevels.Add(level);
                }
            }

            if (HttpContext.Current != null)
            {
                HttpContext.Current.Cache.Insert(cacheKey, lLevels.ToArray(), null, DateTime.Now.AddHours(1),
                                                 Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, null);
            }

            return lLevels.ToArray();
        }