Beispiel #1
0
        /// <summary>
        /// Creates the history table.
        /// </summary>
        /// <returns>html for the history table</returns>
        protected string CreateHistoryTable()
        {
            System.Text.StringBuilder tableText = new System.Text.StringBuilder(1000);
            tableText.Append("<table><tr><th>");
            tableText.Append(Localization.GetString("BaseCreateTableTopic", this.RouterResourceFile));
            tableText.Append("</th><th>");
            tableText.Append(Localization.GetString("BaseCreateTableTitle", this.RouterResourceFile));
            tableText.Append("</th><th>");
            tableText.Append(Localization.GetString("BaseCreateTableModBy", this.RouterResourceFile));
            tableText.Append("</th><th>");
            tableText.Append(Localization.GetString("BaseCreateTableModDate", this.RouterResourceFile));
            tableText.Append("</th></tr>");

            var topicHistories = this.GetHistory();
            //// Dim TopicTable As StringBuilder = New StringBuilder(500)
            TopicHistory history = null;
            int          i       = 0;

            if (topicHistories != null && topicHistories.Any())
            {
                var topicHistoryCollection = topicHistories.ToArray();
                i = topicHistoryCollection.Count();
                while (i > 0)
                {
                    history                = (TopicHistory)topicHistoryCollection[i - 1];
                    history.TabID          = this.TabId;
                    history.PortalSettings = this.PortalSettings;
                    tableText.Append("<tr><td><a class=\"CommandButton\" rel=\"noindex,nofollow\" href=\"");
                    tableText.Append(DotNetNuke.Common.Globals.NavigateURL(this.TabId, this.PortalSettings, string.Empty, "topic=" + WikiMarkup.EncodeTitle(this.mPageTopicValue), "loc=TopicHistory", "ShowHistory=" + history.TopicHistoryId.ToString()));
                    tableText.Append("\">");
                    tableText.Append(history.Name.Replace(WikiHomeName, "Home"));

                    tableText.Append("</a></td>");
                    tableText.Append("<td class=\"Normal\">");
                    if (!string.IsNullOrWhiteSpace(history.Title))
                    {
                        tableText.Append(history.Title.Replace(WikiHomeName, "Home"));
                    }
                    else
                    {
                        tableText.Append(history.Name.Replace(WikiHomeName, "Home"));
                    }

                    tableText.Append("</td>");
                    tableText.Append("<td class=\"Normal\">");
                    tableText.Append(history.UpdatedByUsername);
                    tableText.Append("</td>");
                    tableText.Append("<td Class=\"Normal\">");
                    tableText.Append(history.UpdateDate.ToString(CultureInfo.CurrentCulture));
                    tableText.Append("</td>");
                    tableText.Append("</tr>");
                    i = i - 1;
                }
            }
            else
            {
                tableText.Append("<tr><td colspan=\"3\" class=\"Normal\">");
                tableText.Append(Localization.GetString("BaseCreateHistoryTableEmpty", this.RouterResourceFile));
                tableText.Append("</td></tr>");
            }

            tableText.Append("</table>");
            return(tableText.ToString());
        }
Beispiel #2
0
        /// <summary>
        /// Saves the topic.
        /// </summary>
        /// <param name="content">The content.</param>
        /// <param name="allowDiscuss">if set to <c>true</c> [allow discuss].</param>
        /// <param name="allowRating">if set to <c>true</c> [allow rating].</param>
        /// <param name="title">The title.</param>
        /// <param name="description">The description.</param>
        /// <param name="keywords">The keywords.</param>
        /// <param name="out_crudOperation">The crud operation performed, only update or
        /// insert</param>
        protected void SaveTopic(
            string content,
            bool allowDiscuss,
            bool allowRating,
            string title,
            string description,
            string keywords,
            out SharedEnum.CrudOperation out_crudOperation)
        {
            TopicHistory topicHistory = new TopicHistory();

            topicHistory.TabID          = this.TabId;
            topicHistory.PortalSettings = this.PortalSettings;
            if (this.mTopicObject.TopicID != 0)
            {
                if (!content.Equals(this.mTopicObject.Content) | !title.Equals(this.mTopicObject.Title) | !description.Equals(this.mTopicObject.Description) | !keywords.Equals(this.mTopicObject.Keywords))
                {
                    topicHistory.Name            = this.mTopicObject.Name;
                    topicHistory.TopicId         = this.mTopicObject.TopicID;
                    topicHistory.Content         = this.mTopicObject.Content;
                    topicHistory.UpdatedBy       = this.mTopicObject.UpdatedBy;
                    topicHistory.UpdateDate      = DateTime.Now;
                    topicHistory.UpdatedByUserID = this.mTopicObject.UpdatedByUserID;
                    topicHistory.Title           = this.mTopicObject.Title;
                    topicHistory.Description     = this.mTopicObject.Description;
                    topicHistory.Keywords        = this.mTopicObject.Keywords;

                    this.mTopicObject.UpdateDate = DateTime.Now;
                    if (UserInfo.UserID == -1)
                    {
                        this.mTopicObject.UpdatedBy = Localization.GetString("Anonymous", this.RouterResourceFile);
                    }
                    else
                    {
                        this.mTopicObject.UpdatedBy = UserInfo.Username;
                    }

                    this.mTopicObject.UpdatedByUserID = this.UserId;
                    this.mTopicObject.Content         = content;
                    this.mTopicObject.Title           = title;
                    this.mTopicObject.Description     = description;
                    this.mTopicObject.Keywords        = keywords;

                    this.TopicHistoryBo.Add(topicHistory);
                }

                this.mTopicObject.Name             = this.mPageTopicValue;
                this.mTopicObject.Title            = title;
                this.mTopicObject.Description      = description;
                this.mTopicObject.Keywords         = keywords;
                this.mTopicObject.AllowDiscussions = allowDiscuss;
                this.mTopicObject.AllowRatings     = allowRating;
                this.mTopicObject.Content          = content;

                this.TopicBo.Update(this.mTopicObject);
                out_crudOperation = SharedEnum.CrudOperation.Update;
            }
            else
            {
                this.mTopicObject                = new Topic();
                this.mTopicObject.TabID          = this.TabId;
                this.mTopicObject.PortalSettings = this.PortalSettings;
                this.mTopicObject.Content        = content;
                this.mTopicObject.Name           = this.mPageTopicValue;
                this.mTopicObject.ModuleId       = this.ModuleId;
                if (UserInfo.UserID == -1)
                {
                    this.mTopicObject.UpdatedBy = Localization.GetString("Anonymous", this.RouterResourceFile);
                }
                else
                {
                    this.mTopicObject.UpdatedBy = UserInfo.Username;
                }

                this.mTopicObject.UpdatedByUserID  = this.UserId;
                this.mTopicObject.UpdateDate       = DateTime.Now;
                this.mTopicObject.AllowDiscussions = allowDiscuss;
                this.mTopicObject.AllowRatings     = allowRating;
                this.mTopicObject.Title            = title;
                this.mTopicObject.Description      = description;
                this.mTopicObject.Keywords         = keywords;

                this.mTopicObject = this.TopicBo.Add(this.mTopicObject);

                this.mTopicIdValue = this.mTopicObject.TopicID;
                out_crudOperation  = SharedEnum.CrudOperation.Insert;
            }
        }