protected void Page_Load(object sender, EventArgs e)
    {
        int metacontentid = 0;

        if (!IsPostBack)
        {
            if (!String.IsNullOrEmpty(_box_css_name))
            {
                if (_box_css_name.IndexOf("-title-") > 0)
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"title\">{1}</div><div class=\"m\"><div class=\"clearfix\">", _box_css_name, LegoWebSite.Buslgic.CommonParameters.asign_COMMON_PARAMETER(this.Title));
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litBoxTop.Text    = sBoxTop;
                    this.litBoxBottom.Text = sBoxBottom;
                }
                else
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"m\"><div class=\"clearfix\">", _box_css_name);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litBoxTop.Text    = sBoxTop;
                    this.litBoxBottom.Text = sBoxBottom;
                }
            }

            metacontentid = discover_content_id();
            if (metacontentid == 0 || (metacontentid > 0 && !LegoWebSite.Buslgic.MetaContents.is_META_CONTENTS_EXIST(metacontentid)))
            {
                this.litContent.Text = "<H3>No suitable data!</H3>";
                return;
            }
            CRecord myRec    = new CRecord();
            string  sMetaXml = LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML(metacontentid, 1);
            myRec.load_Xml(sMetaXml);
            string sTemplateFileName;
            if (!string.IsNullOrEmpty(_template_name))
            {
                sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_template_name);
            }
            else
            {
                sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(LegoWebSite.Buslgic.Categories.get_CATEGORY_TEMPLATE_NAME(int.Parse(myRec.Controlfields.Controlfield("002").Value)));
            }
            string sOutHTML = myRec.XsltFile_Transform(sTemplateFileName);
            this.litContent.Text = sOutHTML;
        }
    }
Exemple #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int    meta_content_id = 0;
        int    category_id     = 0;
        int    menu_id         = 0;
        string sLangCode       = System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToLower();

        if (!IsPostBack)
        {
            //set round boxs

            if (!String.IsNullOrEmpty(_navibox_css_name))
            {
                if (_navibox_css_name.IndexOf("-title-") > 0)
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"title\">{1}</div><div class=\"m\"><div class=\"clearfix\">", _navibox_css_name, LegoWebSite.Buslgic.CommonParameters.asign_COMMON_PARAMETER(_navibox_title));
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litCatNaviBoxTop.Text    = sBoxTop;
                    this.litCatNaviBoxBottom.Text = sBoxBottom;
                }
                else
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"m\"><div class=\"clearfix\">", _navibox_css_name);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litCatNaviBoxTop.Text    = sBoxTop;
                    this.litCatNaviBoxBottom.Text = sBoxBottom;
                }
            }
            else
            {
                this.litCatNaviBoxTop.Text    = "<div>";
                this.litCatNaviBoxBottom.Text = "</div>";
            }


            if (!String.IsNullOrEmpty(_contentbox_css_name))
            {
                if (_contentbox_css_name.IndexOf("-title-") > 0)
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"title\">{1}</div><div class=\"m\"><div class=\"clearfix\">", _contentbox_css_name, LegoWebSite.Buslgic.CommonParameters.asign_COMMON_PARAMETER(_contentbox_title));
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litContentBrowserBoxTop.Text    = sBoxTop;
                    this.litContentBrowserBoxBottom.Text = sBoxBottom;
                }
                else
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"m\"><div class=\"clearfix\">", _contentbox_css_name);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litContentBrowserBoxTop.Text    = sBoxTop;
                    this.litContentBrowserBoxBottom.Text = sBoxBottom;
                }
            }
            else
            {
                this.litContentBrowserBoxTop.Text    = "<div>";
                this.litContentBrowserBoxBottom.Text = "</div>";
            }


            if (!String.IsNullOrEmpty(_relatedbox_css_name))
            {
                if (_relatedbox_css_name.IndexOf("-title-") > 0)
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"title\">{1}</div><div class=\"m\"><div class=\"clearfix\">", _relatedbox_css_name, LegoWebSite.Buslgic.CommonParameters.asign_COMMON_PARAMETER(_relatedbox_title));
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litRelatedContentBoxTop.Text    = sBoxTop;
                    this.litRelatedContentBoxBottom.Text = sBoxBottom;
                }
                else
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"m\"><div class=\"clearfix\">", _relatedbox_css_name);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litRelatedContentBoxTop.Text    = sBoxTop;
                    this.litRelatedContentBoxBottom.Text = sBoxBottom;
                }
            }
            else
            {
                this.litRelatedContentBoxTop.Text    = "<div>";
                this.litRelatedContentBoxBottom.Text = "</div>";
            }

            //try to find meta_content_id in order of: meta_content_id; category_id->get top 1 meta_content_id of; menu_id->category_id->get top 1 meta_content_id of

            if (CommonUtility.GetInitialValue("contentid", null) != null)
            {
                meta_content_id = int.Parse(CommonUtility.GetInitialValue("contentid", null).ToString());
            }

            if (CommonUtility.GetInitialValue("catid", null) != null)
            {
                category_id = int.Parse(CommonUtility.GetInitialValue("catid", null).ToString());
            }

            if (CommonUtility.GetInitialValue("mnuid", null) != null)
            {
                menu_id = int.Parse(CommonUtility.GetInitialValue("mnuid", 0).ToString());
            }

            if (meta_content_id <= 0)
            {
                if (category_id > 0)
                {
                    if (!LegoWebSite.Buslgic.Categories.is_CATEGORY_EXIST(category_id))
                    {
                        this.litContentBrowserContent.Text = "<H3>" + Resources.strings.DataIsNotAvailable + "</H3>";
                        return;
                    }
                    else
                    {
                        DataTable top1Data = LegoWebSite.Buslgic.MetaContents.get_TOP_CONTENTS_OF_CATEGORY(category_id, 1, sLangCode);
                        if (top1Data.Rows.Count > 0)
                        {
                            meta_content_id = (int)top1Data.Rows[0]["META_CONTENT_ID"];
                            category_id     = (int)top1Data.Rows[0]["CATEGORY_ID"];
                        }
                        else
                        {
                            this.litContentBrowserContent.Text = "<H3>" + Resources.strings.DataIsNotAvailable + "</H3>";
                            return;
                        }
                    }
                }
                else if (menu_id > 0)
                {
                    category_id = LegoWebSite.Buslgic.Categories.get_CATEGORY_ID_BY_MENU_ID(menu_id);
                    if (!LegoWebSite.Buslgic.Categories.is_CATEGORY_EXIST(category_id))
                    {
                        this.litContentBrowserContent.Text = "<H3>" + Resources.strings.DataIsNotAvailable + "</H3>";
                        return;
                    }
                    else
                    {
                        DataTable top1Data = LegoWebSite.Buslgic.MetaContents.get_TOP_CONTENTS_OF_CATEGORY(category_id, 1, sLangCode);
                        if (top1Data.Rows.Count > 0)
                        {
                            meta_content_id = (int)top1Data.Rows[0]["META_CONTENT_ID"];
                            category_id     = (int)top1Data.Rows[0]["CATEGORY_ID"];//change to specific content's category
                        }
                        else
                        {
                            this.litContentBrowserContent.Text = "<H3>" + Resources.strings.DataIsNotAvailable + "</H3>";
                            return;
                        }
                    }
                }
                else
                {
                    this.litContentBrowserContent.Text = "<H3>" + Resources.strings.DataIsNotAvailable + "</H3>";
                    return;
                }
            }

            if (!LegoWebSite.Buslgic.MetaContents.is_META_CONTENTS_EXIST(meta_content_id))
            {
                litContentBrowserContent.Text = "<H3>meta_content_id is not available!</H3>";
                return;
            }
            if (category_id == 0)
            {
                category_id = LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_CATEGORY_ID(meta_content_id);
            }
            //Display Navigator Info
            this.litCatNaviContent.Text = LegoWebSite.Buslgic.Categories.get_NavigatePath(category_id, (String.IsNullOrEmpty(_default_post_page) == true ? Request.Url.AbsoluteUri:_default_post_page));
            #region verify access right
            //verify access right
            int iAccessLevel = LegoWebSite.Buslgic.MetaContents.get_ACCESS_LEVEL(meta_content_id);
            switch (iAccessLevel)
            {
            case 1:     //need logedin
                if (!Page.User.Identity.IsAuthenticated)
                {
                    this.litContentBrowserContent.Text = "<span><b>Only registered users can view details</b></span>";
                    return;
                }
                break;

            case 2:
                if (!Page.User.Identity.IsAuthenticated)
                {
                    this.litContentBrowserContent.Text = "<span><b>Only registered users can view details</b></span>";
                    return;
                }
                else //verify user roles
                {
                    string[] sAllowAccessRoles = LegoWebSite.Buslgic.MetaContents.get_ACCESS_ROLES(meta_content_id);
                    string[] sUserRoles        = Roles.GetRolesForUser(Page.User.Identity.Name);
                    bool     bAllowAccess      = false;
                    if (sUserRoles != null && sUserRoles.Length > 0 && sAllowAccessRoles != null && sAllowAccessRoles.Length > 0)
                    {
                        for (int x = 0; x < sUserRoles.Length; x++)
                        {
                            for (int y = 0; y < sAllowAccessRoles.Length; y++)
                            {
                                if (sUserRoles[x] == sAllowAccessRoles[y])
                                {
                                    bAllowAccess = true;
                                    break;
                                }
                            }
                            if (bAllowAccess)
                            {
                                break;
                            }
                        }
                    }
                    if (!bAllowAccess)
                    {
                        this.litContentBrowserContent.Text = "<span><b>You are not authorized to view details</b></span>";
                        return;
                    }
                }
                break;
            }
            #endregion verify access right
            //auhorized
            //Display Content Details
            CRecord myRec = new CRecord();
            myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML(meta_content_id, 1));
            string sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(LegoWebSite.Buslgic.Categories.get_CATEGORY_TEMPLATE_NAME(category_id));

            //find linked contents list
            CDatafields Dfs = myRec.Datafields;
            Dfs.Filter("780");
            int      iLinkedCount = Dfs.Count;
            int[]    linkedIDs    = new int[iLinkedCount + 1];
            UrlQuery linkPost     = new UrlQuery();
            if (!String.IsNullOrEmpty(_default_post_page))
            {
                linkPost = new UrlQuery(_default_post_page);
            }
            for (int i = 0; i < iLinkedCount; i++)
            {
                linkedIDs[i] = int.Parse(Dfs.Datafield(i).Subfields.Subfield("w").Value);
                //change link content id to link url
                linkPost.Set("contentid", linkedIDs[i].ToString());
                Dfs.Datafield(i).Subfields.Subfield("w").Value = linkPost.AbsoluteUri;
            }
            this.litContentBrowserContent.Text = myRec.XsltFile_Transform(sTemplateFileName);
            //increase read count
            LegoWebSite.Buslgic.MetaContents.increase_READ_COUNT(meta_content_id);
            //exception ids
            linkedIDs[iLinkedCount] = meta_content_id;//last id is current meta_content_id

            DataTable relData = LegoWebSite.Buslgic.MetaContents.get_TOP_RELATED_CONTENTS(category_id, _number_of_record, sLangCode, linkedIDs);
            if (relData.Rows.Count > 0)
            {
                CRecords outRecs = new CRecords();
                sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_related_content_template);
                for (int i = 0; i < relData.Rows.Count; i++)
                {
                    meta_content_id = (int)relData.Rows[i]["META_CONTENT_ID"];
                    myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML(meta_content_id, 1));
                    linkPost.Set("contentid", meta_content_id.ToString());
                    myRec.Controlfields.Controlfield("001").Value = linkPost.AbsoluteUri;
                    outRecs.Add(myRec);
                }
                this.litRelatedContentContent.Text = outRecs.XsltFile_Transform(sTemplateFileName);
            }
            else
            {
                this.litRelatedContentContent.Text = "";
            }
        }
    }
    private void contentNavigatorPageBind()
    {
        int    meta_content_id = 0;
        int    category_id     = 0;
        int    menu_id         = 0;
        string lang_code       = System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToUpper();

        if (CommonUtility.GetInitialValue("contentid", null) != null)
        {
            meta_content_id = int.Parse(CommonUtility.GetInitialValue("contentid", null).ToString());
        }
        if (CommonUtility.GetInitialValue("catid", null) != null)
        {
            category_id = int.Parse(CommonUtility.GetInitialValue("catid", null).ToString());
        }

        if (CommonUtility.GetInitialValue("mnuid", null) != null)
        {
            menu_id = int.Parse(CommonUtility.GetInitialValue("mnuid", 0).ToString());
        }

        //try to get category_id from menu_id
        if (category_id == 0 && menu_id > 0)
        {
            category_id = LegoWebSite.Buslgic.Categories.get_CATEGORY_ID_BY_MENU_ID(menu_id);
        }
        //try to get category_id from meta_content_id
        if (category_id == 0 && meta_content_id > 0)
        {
            category_id = LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_CATEGORY_ID(meta_content_id);
        }

        if (!LegoWebSite.Buslgic.Categories.is_CATEGORY_EXIST(category_id))
        {
            this.litCatNaviContent.Text = "<H3>Category does not exist!</H3>";
            return;
        }

        this.litCatNaviContent.Text = LegoWebSite.Buslgic.Categories.get_NavigatePath(category_id, Request.Url.AbsoluteUri);


        _contentNavigatorData.PageNumber     = Convert.ToInt16(ViewState["contentNavigatorPageNumber"]);
        _contentNavigatorData.RecordsPerPage = (int)ViewState["contentNavigatorPageSize"];
        _contentNavigatorData.PageCount      = (int)ViewState["contentNavigatorPageCount"];

        DataTable Data = _contentNavigatorData.get_Current_Page(category_id, lang_code);
        // Create DataColumn objects of data types.
        DataColumn colString = new DataColumn("CONTENT_HTML");

        colString.DataType = System.Type.GetType("System.String");
        Data.Columns.Add(colString);

        string sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_template_name);

        for (int i = 0; i < Data.Rows.Count; i++)
        {
            string  sContentXml = "";
            CRecord myRec       = new CRecord();
            int     icontentid  = int.Parse(Data.Rows[i]["META_CONTENT_ID"].ToString());
            string  postURL     = "ContentBrowser.aspx";

            sContentXml = LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML(icontentid, 0);    //no NTEXTS CONTENT_XML
            myRec.load_Xml(sContentXml);

            if (!String.IsNullOrEmpty(_default_post_page))
            {
                postURL = _default_post_page;
            }
            else
            {
                int iCatId = int.Parse(myRec.Controlfields.Controlfield("002").Value.ToString());
                //try to findout related menuid to get postURL
                int iMnuId       = 0;
                int iParentCatId = -1;
                while (iMnuId == 0 && iParentCatId != 0)
                {
                    DataTable CatTable = LegoWebSite.Buslgic.Categories.get_CATEGORY_BY_ID(iCatId).Tables[0];
                    iParentCatId = int.Parse(CatTable.Rows[0]["PARENT_CATEGORY_ID"].ToString());
                    iCatId       = iParentCatId;
                    iMnuId       = int.Parse(CatTable.Rows[0]["MENU_ID"].ToString());
                }
                if (iMnuId > 0)
                {
                    DataTable MenuTable = LegoWebSite.Buslgic.Menus.get_MENUS_BY_MENU_ID(iMnuId).Tables[0];
                    if (MenuTable.Rows.Count > 0)
                    {
                        postURL = MenuTable.Rows[0]["MENU_LINK_URL"].ToString();
                    }
                }
            }
            UrlQuery postQuery = new UrlQuery(postURL);
            postQuery.Set("contentid", icontentid.ToString());
            myRec.Controlfields.Controlfield("001").Value = postQuery.AbsoluteUri;
            Data.Rows[i]["CONTENT_HTML"] = myRec.XsltFile_Transform(sTemplateFileName);
        }
        contentNavigatorRepeater.DataSource = Data;
        contentNavigatorRepeater.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (_category_id == 0)
            {
                this.litTabControlTitle.Text = "Category id prarameter is not set!";
                return;
            }

            DataTable catData = LegoWebSite.Buslgic.Categories.get_CATEGORY_BY_ID(_category_id).Tables[0];

            string TitleRoot = catData.Rows[0]["CATEGORY_" + System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToUpper() + "_TITLE"].ToString();
            if (catData.Rows.Count > 0)
            {
                this.litTabControlTitle.Text = "<a href ='ContentNavigator.aspx?catid=" + int.Parse(catData.Rows[0]["CATEGORY_ID"].ToString()) + "'>" + TitleRoot + "</a>";
            }

            UrlQuery myPost = new UrlQuery();
            if (!String.IsNullOrEmpty(_default_post_page))
            {
                myPost = new UrlQuery(_default_post_page);
            }
            String sTabContents = "";

            DataTable tblTabCate = LegoWebSite.Buslgic.Categories.get_CATEGORY_CHILREN(_category_id).Tables[0];

            string stabs = "";
            stabs += "<div class='container'><ul>";
            for (int i = 0; i < tblTabCate.Rows.Count; i++)
            {
                stabs += "<li>";
                stabs += "<a  href='#" + tblTabCate.Rows[i]["CATEGORY_ID"].ToString() + "'><span>" + tblTabCate.Rows[i]["CATEGORY_" + System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToUpper() + "_TITLE"].ToString() + "</span></a>";
                stabs += "</li>";

                sTabContents += "<div id='" + tblTabCate.Rows[i]["CATEGORY_ID"].ToString() + "'>";

                //get content by tab menu
                DataTable tabDataContent = LegoWebSite.Buslgic.MetaContents.get_TOP_CONTENTS_OF_CATEGORY(int.Parse(tblTabCate.Rows[i]["CATEGORY_ID"].ToString()), _number_of_record, System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToLower());
                CRecord   myRec          = new CRecord();
                if (tabDataContent.Rows.Count == 1)
                {
                    myRec = new CRecord();
                    string sTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_left_template_name);
                    myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML((int)tabDataContent.Rows[0]["META_CONTENT_ID"], 0));
                    myPost.Set("contentid", tabDataContent.Rows[0]["META_CONTENT_ID"].ToString());
                    myRec.Controlfields.Controlfield("001").Value = myPost.AbsoluteUri;
                    sTabContents += "<div style='float:left;width:100%;'>" + myRec.XsltFile_Transform(sTemplateFileName) + "</div>";
                }
                else if (tabDataContent.Rows.Count > 1)
                {
                    myRec = new CRecord();

                    string sTempLeftFileName  = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_left_template_name);
                    string sTempRightFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_right_template_name);

                    myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML((int)tabDataContent.Rows[0]["META_CONTENT_ID"], 0));
                    myPost.Set("contentid", tabDataContent.Rows[0]["META_CONTENT_ID"].ToString());
                    myRec.Controlfields.Controlfield("001").Value = myPost.AbsoluteUri;
                    sTabContents += "<div style='float:left;width:50%;'>" + myRec.XsltFile_Transform(sTempLeftFileName) + "</div>";

                    sTabContents += "<div style='float:right;width:47%;'>";
                    CRecords outRecs = new CRecords();
                    for (int j = 1; j < tabDataContent.Rows.Count; j++)
                    {
                        myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML((int)tabDataContent.Rows[j]["META_CONTENT_ID"], 0));
                        myPost.Set("contentid", tabDataContent.Rows[j]["META_CONTENT_ID"].ToString());
                        myRec.Controlfields.Controlfield("001").Value = myPost.AbsoluteUri;
                        outRecs.Add(myRec);
                    }
                    sTabContents += outRecs.XsltFile_Transform(sTempRightFileName);
                    sTabContents += "</div>";
                }
                sTabContents += "</div>";
            }
            stabs            += "</ul>";
            stabs            += sTabContents;
            stabs            += "</div>";
            this.litTabs.Text = stabs;
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (!String.IsNullOrEmpty(_box_css_name))
            {
                if (_box_css_name.IndexOf("-title-") > 0)
                {
                    DataTable catData = LegoWebSite.Buslgic.Categories.get_CATEGORY_BY_ID(_category_id).Tables[0];
                    if (catData.Rows.Count > 0)
                    {
                        this.Title = catData.Rows[0]["CATEGORY_" + System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToUpper() + "_TITLE"].ToString();
                    }
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"title\"><a href=\"contentnavigator.aspx?catid={1}\">{2}</a></div><div class=\"m\"><div class=\"clearfix\">", _box_css_name, _category_id.ToString(), this.Title);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litBoxTop.Text    = sBoxTop;
                    this.litBoxBottom.Text = sBoxBottom;
                }
                else
                {
                    string sBoxTop    = String.Format("<div id=\"{0}\"><div class=\"t\"><div class=\"t\"><div class=\"t\"></div></div></div><div class=\"m\"><div class=\"clearfix\">", _box_css_name);
                    string sBoxBottom = "</div><div class=\"clr\"></div></div><div class=\"b\"><div class=\"b\"><div class=\"b\"></div></div></div></div>";
                    this.litBoxTop.Text    = sBoxTop;
                    this.litBoxBottom.Text = sBoxBottom;
                }
            }

            DataTable cntData = LegoWebSite.Buslgic.MetaContents.get_TOP_CONTENTS_OF_CATEGORY(_category_id, _number_of_record, System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName.ToLower());
            UrlQuery  myPost  = new UrlQuery();
            if (!String.IsNullOrEmpty(_default_post_page))
            {
                myPost = new UrlQuery(_default_post_page);
            }

            string  sTopTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_top_template_name);
            CRecord myRec = new CRecord();
            if (cntData.Rows.Count > 0)
            {
                myRec = new CRecord();
                myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML((int)cntData.Rows[0]["META_CONTENT_ID"], 0));
                myPost.Set("contentid", cntData.Rows[0]["META_CONTENT_ID"].ToString());
                myRec.Controlfields.Controlfield("001").Value = myPost.AbsoluteUri;//change 001 value to post url before transform
                this.litContent.Text = myRec.XsltFile_Transform(sTopTemplateFileName);
            }
            else
            {
                this.litContent.Text = "<H3>Data is not available!</H3>";
            }

            string   sBottomTemplateFileName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_bottom_template_name);
            CRecords outRecs = new CRecords();
            if (cntData.Rows.Count > 1)
            {
                myRec = new CRecord();
                for (int i = 1; i < cntData.Rows.Count; i++)
                {
                    myRec.load_Xml(LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML((int)cntData.Rows[i]["META_CONTENT_ID"], 0));
                    myPost.Set("contentid", cntData.Rows[i]["META_CONTENT_ID"].ToString());
                    myRec.Controlfields.Controlfield("001").Value = myPost.AbsoluteUri;//change 001 value to post url
                    outRecs.Add(myRec);
                }
                this.litContent.Text += outRecs.XsltFile_Transform(sBottomTemplateFileName);
            }
        }
    }
    private void contentSearchPageBind()
    {
        string sSearchField = null;
        string sSearchValue = null;


        if (CommonUtility.GetInitialValue("s_searchfield", null) != null)
        {
            sSearchField = CommonUtility.GetInitialValue("s_searchfield", null).ToString();
        }
        if (CommonUtility.GetInitialValue("s_searchvalue", null) != null)
        {
            sSearchValue = CommonUtility.GetInitialValue("s_searchvalue", null).ToString();
        }

        _contentSearchData.PageNumber     = Convert.ToInt16(ViewState["contentSearchPageNumber"]);
        _contentSearchData.RecordsPerPage = (int)ViewState["contentSearchPageSize"];
        _contentSearchData.PageCount      = (int)ViewState["contentSearchPageCount"];
        DataTable Data = _contentSearchData.get_User_Search_Current_Page(_section_id, sSearchField, sSearchValue);

        // Create DataColumn objects of data types.

        DataColumn colString = new DataColumn("CONTENT_HTML");

        colString.DataType = System.Type.GetType("System.String");
        Data.Columns.Add(colString);
        string  sContentXml   = "";
        CRecord contentRec    = new CRecord();
        Int16   iContentId    = 0;
        string  sTemplateName = LegoWebSite.DataProvider.FileTemplateDataProvider.get_XsltTemplateFile(_template_name);

        for (int i = 0; i < Data.Rows.Count; i++)
        {
            iContentId  = Int16.Parse(Data.Rows[i]["META_CONTENT_ID"].ToString());
            sContentXml = LegoWebSite.Buslgic.MetaContents.get_META_CONTENT_MARCXML(iContentId, 1);//no NTEXTS CONTENT_XML
            contentRec.load_Xml(sContentXml);

            UrlQuery postURL = new UrlQuery(_default_post_page);

            int iCatId = int.Parse(contentRec.Controlfields.Controlfield("002").Value.ToString());

            //try to findout related menuid to get postURL
            int iMnuId       = 0;
            int iParentCatId = -1;
            while (iMnuId == 0 && iParentCatId != 0)
            {
                DataTable CatTable = LegoWebSite.Buslgic.Categories.get_CATEGORY_BY_ID(iCatId).Tables[0];
                iParentCatId = int.Parse(CatTable.Rows[0]["PARENT_CATEGORY_ID"].ToString());
                iCatId       = iParentCatId;
                iMnuId       = int.Parse(CatTable.Rows[0]["MENU_ID"].ToString());
            }
            if (iMnuId > 0)
            {
                DataTable MenuTable = LegoWebSite.Buslgic.Menus.get_MENUS_BY_MENU_ID(iMnuId).Tables[0];
                if (MenuTable.Rows.Count > 0)
                {
                    postURL = new UrlQuery(MenuTable.Rows[0]["MENU_LINK_URL"].ToString());
                }
                postURL.Set("contentid", iContentId.ToString());
                Data.Rows[i]["CONTENT_HTML"] = contentRec.XsltFile_Transform(sTemplateName).Replace("{POST_URL}", postURL.AbsoluteUri);
            }
            else
            {
                postURL.Set("contentid", iContentId.ToString());
                Data.Rows[i]["CONTENT_HTML"] = contentRec.XsltFile_Transform(sTemplateName).Replace("{POST_URL}", postURL.AbsoluteUri);
            }
        }
        contentSearchRepeater.DataSource = Data;
        contentSearchRepeater.DataBind();
    }