private void AddLevelNameColumnToTree()
 {
     var column = new TreeListBoundColumn();
     radTreeResults.Columns.Add(column);
     column.DataField = "LevelName";
     column.UniqueName = "LevelName";
     column.HeaderText = "Name";
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            Thread_ID = ATC.Tools.URLParam("Thread");
            string culture = System.Threading.Thread.CurrentThread.CurrentCulture.Name;

            /* IF no topic is passed we redirect the user to the udebta start page*/
            if (Thread_ID.Equals(""))
            {
                Response.Redirect(ConfigurationManager.AppSettings["DomainName"] + /*"/" + culture + */"/udebate.aspx");
            }

            Page.ClientScript.RegisterClientScriptInclude("hoverintent", ResolveUrl("~/Resources/Shared/Scripts/jquery/jquery.hoverIntent.min.js"));
            Page.ClientScript.RegisterClientScriptInclude("scroll", ResolveUrl("~/DesktopModules/uDebate_Discussion/Components/jquery.scrollTo-1.4.3.1-min.js"));

            log.AddInfo("loading discussion tree " + Thread_ID);
            ctlBreadcrump.CurrentModuleId = ModuleId.ToString();
            Page.MaintainScrollPositionOnPostBack = true;

            /* uncomment for multilingual sites */
            //LocalResourceFile = Localization.GetResourceFile(this, "View.ascx." + culture + ".resx");

            legendIssueImg.ImageUrl = "images/issue_icon.gif";
            legendIssueLbl.Text = Localization.GetString("Issue", LocalResourceFile);
            legendAltImg.ImageUrl = "images/alter_icon.gif";
            legendAltLbl.Text = Localization.GetString("Alternative", LocalResourceFile);
            legendProImg.ImageUrl = "images/pro_icon.gif";
            legendProLbl.Text = Localization.GetString("ProArgument", LocalResourceFile);
            legendConImg.ImageUrl = "images/con_icon.gif";
            legendConLbl.Text = Localization.GetString("ConArgument", LocalResourceFile);
            legendCommentImg.ImageUrl = "images/comments_icon.gif";
            legendCommentLbl.Text = Localization.GetString("Comment", LocalResourceFile);

            log.AddInfo("finished loading discussion tree " + Thread_ID);

            printLink.Attributes.Add("onclick", "openTreeViewPrinter(" + Thread_ID + ");return false;");

            string postAction = ATC.Tools.URLParam("PostAction").ToString();
            if (postAction != string.Empty && DotNetNuke.Security.PortalSecurity.IsInRoles("Pilot Leaders"))
                ChangePostStatus(postAction);

            if (!Request.IsAuthenticated)
            {
                notifyCheck.Visible = false;
                notifyLabel.Visible = false;
            }
            if (!IsPostBack)
            {
                notifyCheck.Checked = checkUsedNotified(UserId.ToString(), Thread_ID);
                IncViewCounter();

                DebateList.DataKeyNames = new string[] { "ID" };
                DebateList.ParentDataKeyNames = new string[] { "ParentID" };
                DebateList.DataSourceID = "SqluDebatePosts";
                DebateList.AutoGenerateColumns = false;
                SqluDebatePosts.SelectParameters["ThreadID"].DefaultValue = Thread_ID;
                SqluDebateThread.SelectParameters["ThreadID"].DefaultValue = Thread_ID;

                bool ThreadViewPermission = false;
                if (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByThread()
                    ||
                    (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByTopic())
                    ||
                    (DotNetNuke.Security.PortalSecurity.IsInRoles("Pilot Leaders"))
                   )
                {
                    ThreadViewPermission = true;
                }

                /* Check if the user is an admin and therefore all posts should be displayed */
                if (Request.IsAuthenticated && ThreadViewPermission == true)
                {
                    SqluDebatePosts.SelectParameters["Authorized"].DefaultValue = "1";
                }

                TreeListBoundColumn postTypeColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(postTypeColumn);
                postTypeColumn.DataField = "PostType";
                postTypeColumn.UniqueName = "PostType";
                postTypeColumn.HeaderText = "PostType";

                TreeListBoundColumn subjectColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(subjectColumn);
                subjectColumn.DataField = "Subject";
                subjectColumn.UniqueName = "Subject";
                subjectColumn.HeaderText = "Subject";

                TreeListBoundColumn dateColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(dateColumn);
                dateColumn.DataField = "PostDate";
                dateColumn.UniqueName = "PostDate";
                dateColumn.HeaderText = "PostDate Date";
                dateColumn.DataType = typeof(DateTime);
                dateColumn.ItemStyle.CssClass = "postDate";
                dateColumn.DataFormatString = "{0:dd-MM-yyyy, HH:mm} " + Localization.GetString("PostBy", LocalResourceFile) + ": ";

                TreeListBoundColumn authorColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(authorColumn);
                authorColumn.DataField = "Post_Author";
                authorColumn.UniqueName = "Post_Author";
                authorColumn.HeaderText = "Post Author";

                TreeListBoundColumn publishedColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(publishedColumn);
                publishedColumn.DataField = "IsPublished";
                publishedColumn.UniqueName = "IsPublished";
                publishedColumn.Visible = false;

                TreeListBoundColumn userIDColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(userIDColumn);
                userIDColumn.DataField = "UserId";
                userIDColumn.UniqueName = "UserId";
                userIDColumn.Visible = false;

                DebateList.ExpandedIndexes.Add(new TreeListHierarchyIndex { NestedLevel = 0, LevelIndex = 0 });
                DataRow lastPost = getLatestPostOfThread(Thread_ID);

                if (lastPost != null)
                    FindAndSelectItem(Convert.ToInt32(lastPost["ID"]));
            }

            /* Styling */

            //subjectColumn
            DebateList.Columns[0].HeaderStyle.Width = Unit.Pixel(16);
            DebateList.Columns[0].ItemStyle.Width = Unit.Pixel(16);

            //subjectColumn
            //DebateList.Columns[1].HeaderStyle.Width = Unit.Percentage(71);
            //DebateList.Columns[1].ItemStyle.Width = Unit.Percentage(71);
            DebateList.Columns[1].ItemStyle.CssClass = "postTitle";

            //dateColumn
            DebateList.Columns[2].HeaderStyle.Width = Unit.Pixel(160);
            DebateList.Columns[2].ItemStyle.Width = Unit.Pixel(160);
            DebateList.Columns[2].ItemStyle.CssClass = "postDate";
            DebateList.Columns[2].ItemStyle.HorizontalAlign = HorizontalAlign.Right;

            //authorColumn
            DebateList.Columns[3].HeaderStyle.Width = Unit.Pixel(100);
            DebateList.Columns[3].ItemStyle.Width = Unit.Pixel(100);
            DebateList.Columns[3].ItemStyle.CssClass = "postAuthor";
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Thread_ID = ATC.Tools.URLParam("Thread");
            string culture = System.Threading.Thread.CurrentThread.CurrentCulture.Name;

            /* IF no topic is passed we redirect the user to the udebta start page*/
            if (Thread_ID.Equals(""))
            {
                Response.Redirect(ConfigurationManager.AppSettings["DomainName"] + /*"/" + culture + */ "/udebate.aspx");
            }

            Page.ClientScript.RegisterClientScriptInclude("hoverintent", ResolveUrl("~/Resources/Shared/Scripts/jquery/jquery.hoverIntent.min.js"));
            Page.ClientScript.RegisterClientScriptInclude("scroll", ResolveUrl("~/DesktopModules/uDebate_Discussion/Components/jquery.scrollTo-1.4.3.1-min.js"));

            log.AddInfo("loading discussion tree " + Thread_ID);
            ctlBreadcrump.CurrentModuleId         = ModuleId.ToString();
            Page.MaintainScrollPositionOnPostBack = true;

            /* uncomment for multilingual sites */
            //LocalResourceFile = Localization.GetResourceFile(this, "View.ascx." + culture + ".resx");

            legendIssueImg.ImageUrl   = "images/issue_icon.gif";
            legendIssueLbl.Text       = Localization.GetString("Issue", LocalResourceFile);
            legendAltImg.ImageUrl     = "images/alter_icon.gif";
            legendAltLbl.Text         = Localization.GetString("Alternative", LocalResourceFile);
            legendProImg.ImageUrl     = "images/pro_icon.gif";
            legendProLbl.Text         = Localization.GetString("ProArgument", LocalResourceFile);
            legendConImg.ImageUrl     = "images/con_icon.gif";
            legendConLbl.Text         = Localization.GetString("ConArgument", LocalResourceFile);
            legendCommentImg.ImageUrl = "images/comments_icon.gif";
            legendCommentLbl.Text     = Localization.GetString("Comment", LocalResourceFile);

            log.AddInfo("finished loading discussion tree " + Thread_ID);

            printLink.Attributes.Add("onclick", "openTreeViewPrinter(" + Thread_ID + ");return false;");

            string postAction = ATC.Tools.URLParam("PostAction").ToString();

            if (postAction != string.Empty && DotNetNuke.Security.PortalSecurity.IsInRoles("Pilot Leaders"))
            {
                ChangePostStatus(postAction);
            }

            if (!Request.IsAuthenticated)
            {
                notifyCheck.Visible = false;
                notifyLabel.Visible = false;
            }
            if (!IsPostBack)
            {
                notifyCheck.Checked = checkUsedNotified(UserId.ToString(), Thread_ID);
                IncViewCounter();

                DebateList.DataKeyNames        = new string[] { "ID" };
                DebateList.ParentDataKeyNames  = new string[] { "ParentID" };
                DebateList.DataSourceID        = "SqluDebatePosts";
                DebateList.AutoGenerateColumns = false;
                SqluDebatePosts.SelectParameters["ThreadID"].DefaultValue  = Thread_ID;
                SqluDebateThread.SelectParameters["ThreadID"].DefaultValue = Thread_ID;


                bool ThreadViewPermission = false;
                if (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByThread()
                    ||
                    (Request.IsAuthenticated && Entities.Users.UserController.GetCurrentUserInfo().UserID.ToString() == getUserIdByTopic())
                    ||
                    (DotNetNuke.Security.PortalSecurity.IsInRoles("Pilot Leaders"))
                    )
                {
                    ThreadViewPermission = true;
                }

                /* Check if the user is an admin and therefore all posts should be displayed */
                if (Request.IsAuthenticated && ThreadViewPermission == true)
                {
                    SqluDebatePosts.SelectParameters["Authorized"].DefaultValue = "1";
                }

                TreeListBoundColumn postTypeColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(postTypeColumn);
                postTypeColumn.DataField  = "PostType";
                postTypeColumn.UniqueName = "PostType";
                postTypeColumn.HeaderText = "PostType";

                TreeListBoundColumn subjectColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(subjectColumn);
                subjectColumn.DataField  = "Subject";
                subjectColumn.UniqueName = "Subject";
                subjectColumn.HeaderText = "Subject";

                TreeListBoundColumn dateColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(dateColumn);
                dateColumn.DataField          = "PostDate";
                dateColumn.UniqueName         = "PostDate";
                dateColumn.HeaderText         = "PostDate Date";
                dateColumn.DataType           = typeof(DateTime);
                dateColumn.ItemStyle.CssClass = "postDate";
                dateColumn.DataFormatString   = "{0:dd-MM-yyyy, HH:mm} " + Localization.GetString("PostBy", LocalResourceFile) + ": ";

                TreeListBoundColumn authorColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(authorColumn);
                authorColumn.DataField  = "Post_Author";
                authorColumn.UniqueName = "Post_Author";
                authorColumn.HeaderText = "Post Author";

                TreeListBoundColumn publishedColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(publishedColumn);
                publishedColumn.DataField  = "IsPublished";
                publishedColumn.UniqueName = "IsPublished";
                publishedColumn.Visible    = false;

                TreeListBoundColumn userIDColumn = new TreeListBoundColumn();
                DebateList.Columns.Add(userIDColumn);
                userIDColumn.DataField  = "UserId";
                userIDColumn.UniqueName = "UserId";
                userIDColumn.Visible    = false;

                DebateList.ExpandedIndexes.Add(new TreeListHierarchyIndex {
                    NestedLevel = 0, LevelIndex = 0
                });
                DataRow lastPost = getLatestPostOfThread(Thread_ID);

                if (lastPost != null)
                {
                    FindAndSelectItem(Convert.ToInt32(lastPost["ID"]));
                }
            }

            /* Styling */

            //subjectColumn
            DebateList.Columns[0].HeaderStyle.Width = Unit.Pixel(16);
            DebateList.Columns[0].ItemStyle.Width   = Unit.Pixel(16);

            //subjectColumn
            //DebateList.Columns[1].HeaderStyle.Width = Unit.Percentage(71);
            //DebateList.Columns[1].ItemStyle.Width = Unit.Percentage(71);
            DebateList.Columns[1].ItemStyle.CssClass = "postTitle";

            //dateColumn
            DebateList.Columns[2].HeaderStyle.Width         = Unit.Pixel(160);
            DebateList.Columns[2].ItemStyle.Width           = Unit.Pixel(160);
            DebateList.Columns[2].ItemStyle.CssClass        = "postDate";
            DebateList.Columns[2].ItemStyle.HorizontalAlign = HorizontalAlign.Right;

            //authorColumn
            DebateList.Columns[3].HeaderStyle.Width  = Unit.Pixel(100);
            DebateList.Columns[3].ItemStyle.Width    = Unit.Pixel(100);
            DebateList.Columns[3].ItemStyle.CssClass = "postAuthor";
        }