protected void Page_Load(object sender, EventArgs e)
 {
     if (Session[Constants.SessionNames.LoggedAdminUser] == null)
     {
         Response.Redirect("Login.aspx");
     }
     else
     {
         ArticlesGenerator GenerateArticle = null;
         if (Request.QueryString["PC"] != null)
         {
             string PageCategoryVal = Request.QueryString["PC"].ToString();
             SelectedMenuCat = PageCategoryVal;
             GenerateArticle = new ArticlesGenerator();
             SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(SelectedMenuCat);
         }
     }
     GetPostedData();
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        string CallingPageUrl = string.Empty;

        string UrlString = string.Empty;
        //  string UrlNumericSubstring = string.Empty;
        //  bool IsSubStrNumeric = false;
        // int NumericVal = 0;
        ArticlesGenerator GenerateArticle = null;
        if (!Page.IsPostBack)
        {

            // check if admin is loggedin then show hidden articles
            if (Session[Constants.SessionNames.LoggedAdminUser] != null)
            {
                IsHiddenArticlesVisible = true;
            }
            UrlString = Request.Url.OriginalString.ToString().ToLower();
            if (UrlString.Contains("articles/"))
            {
                if (Session[Constants.SessionNames.CurrentArticleMenuCategory] != null && Session[Constants.SessionNames.CurrentArticlePageNo] != null || Session[Constants.SessionNames.CurrentArticleTagIds] != null)
                {
                    string ArticleTagNids = string.Empty;
                    string ArticleCurrentPageNo = string.Empty;
                    string ArticleMenucategory = string.Empty;
                    if (Session[Constants.SessionNames.CurrentArticleMenuCategory] != null)
                    {
                        ArticleMenucategory = Session[Constants.SessionNames.CurrentArticleMenuCategory].ToString();
                    }
                    if (Session[Constants.SessionNames.CurrentArticlePageNo] != null)
                    {
                        ArticleCurrentPageNo = Session[Constants.SessionNames.CurrentArticlePageNo].ToString();
                    }
                    if (Session[Constants.SessionNames.CurrentArticleTagIds] != null)
                    {
                        ArticleTagNids = Session[Constants.SessionNames.CurrentArticleTagIds].ToString();
                        if (ArticleTagNids.Length > 2)
                        {
                            ArticleTagNids = ArticleTagNids.Replace('~', ',');
                        }
                    }
                    if (Session[Constants.SessionNames.CurrentArticleTagIds] != null)
                    {
                        ArticleTagNids = Session[Constants.SessionNames.CurrentArticleTagIds].ToString();
                        if (ArticleTagNids.Length > 2)
                        {
                            ArticleTagNids = ArticleTagNids.Replace('~', ',');
                        }
                    }
                    GetArticlesByMenuCategoryAndTags(ArticleMenucategory, ArticleCurrentPageNo, ArticleTagNids, IsHiddenArticlesVisible);
                    MenuCategory = ArticleMenucategory;
                    GenerateArticle = new ArticlesGenerator();
                    SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(MenuCategory);
                    Session[Constants.SessionNames.CurrentArticlePageNo] = null;
                    Session[Constants.SessionNames.CurrentArticleTagIds] = null;
                    Session[Constants.SessionNames.CurrentArticleMenuCategory] = null;
                }
                else
                {
                    CallingPageUrl = Request.QueryString["category"].ToString().ToLower();
                    this.ShowArticles(CallingPageUrl, IsHiddenArticlesVisible);
                }
                ShowHideAddButton();
                // call method to Get posted data
                GetPostedData();
            }
            SetHideAndEditButtonVisiblity(false);
        }
    }
    /// <summary>
    /// get articles from database,
    /// bind it to html
    /// </summary>
    /// <param name="CallingPageUrl">paramater for maintaining article type</param>
    private void ShowArticles(string CallingPageUrl, bool IsHiddenArticlesVisible)
    {
        ArticlesGenerator GenerateArticle = new ArticlesGenerator();
        List<MenuCategories> ListMenuCat = null;
        MenuCategories ObjMenuCat = null;
        string RetContentHtml = string.Empty;
        int MaxArticleCount = 0;
        int CurrentPageNo = 1;
        string RetMenuCategory = string.Empty;
        bool IsGetArticleByUrl = false;

        //   string AdaptaionPagingName = Constants.CMS.AdaptaionPagingName.ToLower();
        int ArticleStartPosition = 0;
        try
        {
            ListMenuCat = new List<MenuCategories>();
            ObjMenuCat = new MenuCategories();
            ListMenuCat = ObjMenuCat.GetMenuCategoriesList(true);
            foreach (MenuCategories Category in ListMenuCat)
            {
                if (CallingPageUrl.ToLower() == Category.MenuCategory.ToLower())
                {
                    IsGetArticleByUrl = true;
                    MenuCategory = Category.MenuCategory.ToLower();
                    if (!string.IsNullOrEmpty(Global.MaxArticlesCount))
                    {
                        MaxArticleCount = Convert.ToInt32(Global.MaxArticlesCount);
                    }

                    ArticleStartPosition = (CurrentPageNo - 1) * MaxArticleCount + 1;

                    // Get Html For News
                    RetContentHtml = GenerateArticle.GetArticleByMenuCategory(ArticleStartPosition, MaxArticleCount, MenuCategory, CurrentPageNo, IsHiddenArticlesVisible);
                    break;
                }
            }
            if (!IsGetArticleByUrl)
            {
                this.ShowArticleByUrl(CallingPageUrl, true);
            }
            // Check if Return Html is not empty
            else if (!string.IsNullOrEmpty(RetContentHtml))
            {
                //set Html to content page
                divContent.InnerHtml = RetContentHtml;
            }
            SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(MenuCategory);
        }
        catch (Exception ex)
        {
            Global.CreateExceptionString(ex, null);
        }
    }
    private void ShowArticleByUrl(string CallingPageUrl, bool IsHiddenArticlesVisible)
    {
        try
        {
            ArticlesGenerator GenerateArticle = new ArticlesGenerator();
            string RetContentHtml = string.Empty;

            DataContent ObjDataContent = new DataContent();

            // Call method to get data content based on url
            ObjDataContent = GenerateArticle.GetDataContentFromDatabaseByUrl(CallingPageUrl, IsHiddenArticlesVisible);

            if (ObjDataContent != null)
            {
                RetContentHtml = GenerateArticle.GetHtmlByMenuCategory(ObjDataContent);
                // Call method to get Html of inner content page
                try
                {
                    // set meta tag values
                    if (!string.IsNullOrEmpty(ObjDataContent.Summary))
                    {
                        Page.MetaDescription = ObjDataContent.Summary;  //Summary
                    }
                    if (!string.IsNullOrEmpty(ObjDataContent.Title))
                    {
                        Page.MetaDescription = CreateKyWordsFromTitle(ObjDataContent.Title);
                        ATitle = ObjDataContent.Title;
                    }
                    SpanMenuCategoryHeading.InnerText = ObjDataContent.Title;
                    SpanMenuCategoryHeading.Style.Add("Font-Size", "18px");
                    SpanHeaderDescription.InnerHtml = ObjDataContent.Date.ToString();
                    SpanHeaderDescription.Style.Add("Font-Style", "italic");

                    if (!string.IsNullOrEmpty(ObjDataContent.PDFUpload))
                    {
                        ArticlePdf.HRef = ObjDataContent.PDFUpload;
                    }
                    else
                    {
                        ArticlePdf.HRef = "javascript:void(0);";
                    }
                    // Set selected page name
                    SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(ObjDataContent.MenuCategory);
                    SharingTitle = ConvertToAscii(ObjDataContent.Title.Replace("'", "\\'").Replace(@"""", @"\"""));
                    SharingSummary = ConvertToAscii(ObjDataContent.Summary.Replace("'", "\\'").Replace(@"""", @"\"""));
                    SharingImageUrl = ObjDataContent.Thumbnail;

                }
                catch (Exception Ex)
                {
                    Global.CreateExceptionString(Ex, null);
                }

                MenuCategory = ObjDataContent.MenuCategory.ToLower();
            }

            // Check if Return Html is not empty
            if (!string.IsNullOrEmpty(RetContentHtml))
            {
                //set Html to content page
                divContent.InnerHtml = RetContentHtml;
                SetDeleteLinkUrl(ObjDataContent.ContentId);
                SetHideAndEditButtonVisiblity(true);
            }
        }
        catch (Exception Ex)
        {
            Global.CreateExceptionString(Ex, null);
        }
    }
    private void SetEditableHtmlContent(string CallingPageUrl, bool IsHiddenArticlesVisible)
    {
        ArticlesGenerator GenerateArticle = null;
        RetDataContent = new DataContent();
        List<string> RetTags = new List<string>();
        string Summary = string.Empty;
        try
        {
            GenerateArticle = new ArticlesGenerator();
            RetDataContent = GenerateArticle.GetDataContentFromDatabaseByUrl(CallingPageUrl, IsHiddenArticlesVisible);
            if (RetDataContent != null)
            {
                Summary = RetDataContent.Summary.Replace("<br/>", "\n");
                SelectedMenuCat = RetDataContent.MenuCategory;
                HdnContentId.Value = RetDataContent.ContentId.ToString();
                txtSummary.Value = Summary.ToString();
                txtTitle.Value = RetDataContent.Title.ToString();
                DetaildContent = RetDataContent.Description.ToString();
                DetaildContent = DetaildContent.Replace("{", "{{").Replace("}", "}}");
                DetaildContent = DetaildContent.Replace("\r\n", "").Replace("\n", "").Replace("\r", "");
                DetaildContent = DetaildContent.Replace("../libraries/aspx/diorg/", "diorg/");

                ////changes in script tag for ckeditor
                DetaildContent = DetaildContent.Replace("<script", "<scrpt");
                DetaildContent = DetaildContent.Replace("</script", "</scrpt");
                DetaildContent = DetaildContent.Replace(@"\", "\\");
                DetaildContent = ConvertToAscii(DetaildContent);
                // DetaildContent = Regex.Replace(DetaildContent, @"[^\u0000-\u007F]", string.Empty);
                if (RetDataContent.Date.Value.Year != 1900)
                {
                    EditDatetime = RetDataContent.Date.ToString();
                }

                ThumbNailImageSrc = RetDataContent.Thumbnail.ToString();
                ThumbNailImageSrc = ThumbNailImageSrc.Replace("../libraries/aspx/diorg/", "diorg/");

                PdfSrc = RetDataContent.PDFUpload.ToString();
                PdfSrc = PdfSrc.Replace("../libraries/aspx/diorg/", "diorg/");
                txtTags.Value = GenerateArticle.GetTagsFromDatabaseByTagId(Convert.ToInt32(RetDataContent.ArticleTagID.ToString()));
                TagID = RetDataContent.ArticleTagID;

                // set selected page name
                SelectedPageName = GenerateArticle.GetPageNameFromDbByMenuCategory(RetDataContent.MenuCategory);
            }

        }
        catch (Exception ex)
        {
            Global.CreateExceptionString(ex, null);
        }
    }