protected void btnAddNewTopic_Click(object sender, EventArgs e)
 {
     if (!HasWriteAccess)
         return;
     
     ProfileTopic topic = new ProfileTopic();
     topic.Name = "NewTopic";
     topic.EditColumns = 1;
     topic.ViewColumns = 1;
     topic.Save();
     PopulateDataGrid();
 }
        private void BindTopicDetails(ProfileTopic[] topics)
        {
            DataTable dtTopics = new DataTable("Topics");
            dtTopics.Columns.Add("TopicID");
            dtTopics.Columns.Add("Title");
            dtTopics.Columns.Add("EditColumns", typeof (int));
            dtTopics.Columns.Add("ViewColumns", typeof (int));

            foreach (ProfileTopic topic in topics)
            {
                dtTopics.Rows.Add(new object[]
                                      {
                                          topic.ID,
                                          topic.Name,
                                          topic.EditColumns,
                                          topic.ViewColumns
                                      }
                    );
            }

            DataSource = dtTopics;

            dgTopics.DataSource = dtTopics;
            dgTopics.DataBind();
        }
Exemple #3
0
        /// <summary>
        /// Fetches all Profile Topics from the DB
        /// </summary>
        /// <returns>Array of ProfileTopic objects</returns>
        public static ProfileTopic[] Fetch()
        {
            const string cacheKey = "ProfileTopic_Fetch";
            if (HttpContext.Current != null && HttpContext.Current.Cache[cacheKey] != null)
            {
                return HttpContext.Current.Cache[cacheKey] as ProfileTopic[];
            }

            //using (var conn = Config.DB.Open())
            {
                var lTopics = new List<ProfileTopic>();

                using (var reader = SqlHelper.GetDB().ExecuteReader("FetchProfileTopic", DBNull.Value))
                {

                    while (reader.Read())
                    {
                        var topic = new ProfileTopic
                            {
                                id = ((int) reader["ID"]),
                                name = ((string) reader["Name"]),
                                priority = ((int) reader["Priority"]),
                                editColumns = ((int) reader["EditColumns"]),
                                viewColumns = ((int) reader["ViewColumns"])
                            };

                        lTopics.Add(topic);
                    }
                    reader.Close();
                }

                if (lTopics.Count > 0)
                {
                    ProfileTopic[] topics = lTopics.ToArray();

                    if (HttpContext.Current != null)
                    {
                        //Global.AddCacheItem("ProfileTopics", cacheKey, topics);
                        HttpContext.Current.Cache.Insert(cacheKey, topics, null, Cache.NoAbsoluteExpiration,
                                                         TimeSpan.FromHours(1), CacheItemPriority.NotRemovable, null);
                    }

                    return topics;
                }
                return null;
            }
        }
Exemple #4
0
        /// <summary>
        /// Fetches Profile Topic from the DB. Throws NotFoundException if the topic doesn't exist.
        /// </summary>
        /// <param name="Id">Id of the topic</param>
        /// <returns>ProfileTopic object</returns>
        /// <exception cref="NotFoundException">No topic was found with the requested Id</exception>
        public static ProfileTopic Fetch(int Id)
        {
            string cacheKey = String.Format("ProfileTopic_Fetch_{0}", Id);
            if (HttpContext.Current != null && HttpContext.Current.Cache[cacheKey] != null)
            {
                return HttpContext.Current.Cache[cacheKey] as ProfileTopic;
            }

            //using (var conn = Config.DB.Open())
            {
                var topic = new ProfileTopic {id = Id};

                using (var reader = SqlHelper.GetDB().ExecuteReader("FetchProfileTopic", Id))
                {

                    if (reader.Read())
                    {
                        topic.name = (string) reader["Name"];
                        topic.priority = (int) reader["Priority"];
                        topic.editColumns = (int) reader["EditColumns"];
                        topic.viewColumns = (int) reader["ViewColumns"];
                        reader.Close();
                    }
                    else
                    {
                        throw new NotFoundException
                            (Lang.Trans("The requested topic does not exist!"));
                    }
                }
                if (HttpContext.Current != null)
                {
                    //Global.AddCacheItem("ProfileTopics", cacheKey, topic);
                    HttpContext.Current.Cache.Insert(cacheKey, topic, null, Cache.NoAbsoluteExpiration,
                                                     TimeSpan.FromHours(1), CacheItemPriority.NotRemovable, null);
                }

                return topic;
            }
        }
 protected void btnSave_Click(object sender, EventArgs e)
 {
     if (!HasWriteAccess)
         return;
     
     ProfileTopic topic = new ProfileTopic(Convert.ToInt32(TopicID));
     topic.Name = txtTopicTitle.Text;
     topic.EditColumns = Convert.ToInt32(dropEditColumns.SelectedValue);
     topic.ViewColumns = Convert.ToInt32(dropViewColumns.SelectedValue);
     topic.Save();
     ClearTempTopic();
     Response.Redirect("EditTopics.aspx");
 }
        private void SaveTempTopic()
        {
            ProfileTopic topic = new ProfileTopic(Convert.ToInt32(TopicID));
            topic.Name = txtTopicTitle.Text;
            topic.EditColumns = Convert.ToInt32(dropEditColumns.SelectedValue);
            topic.ViewColumns = Convert.ToInt32(dropViewColumns.SelectedValue);

            Global.GetSessionState()["TempTopic"] = topic;
        }