Carrotware.CMS.UI.Admin.c3_admin.PageAddEdit.Page_Load C# (CSharp) Method

Page_Load() protected method

protected Page_Load ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        protected void Page_Load(object sender, EventArgs e)
        {
            Master.ActivateTab(AdminBaseMasterPage.SectionID.ContentAdd);

            RedirectIfNoSite();

            lblUpdated.Text = SiteData.CurrentSite.Now.ToString();
            lblCreateDate.Text = SiteData.CurrentSite.Now.ToString();

            iPageCount = pageHelper.GetSitePageCount(SiteID, ContentPageType.PageType.ContentEntry);

            guidContentID = GetGuidIDFromQuery();
            guidVersionContentID = GetGuidParameterFromQuery("versionid");
            guidImportContentID = GetGuidParameterFromQuery("importid");

            if (!IsPostBack) {
                if (iPageCount < 1) {
                    txtSort.Text = "0";
                } else {
                    int iOrder = pageHelper.GetMaxNavOrder(SiteID) + 1;
                    txtSort.Text = iOrder.ToString();
                }
            }

            sPageMode = GetStringParameterFromQuery("mode");
            if (sPageMode.ToLowerInvariant() == "raw") {
                reBody.CssClass = "rawEditor";
                reLeftBody.CssClass = "rawEditor";
                reRightBody.CssClass = "rawEditor";
                divCenter.Visible = false;
                divRight.Visible = false;
                divLeft.Visible = false;
            }

            if (!IsPostBack) {
                DateTime dtSite = CMSConfigHelper.CalcNearestFiveMinTime(SiteData.CurrentSite.Now);
                ucReleaseDate.SetDate(dtSite);
                ucRetireDate.SetDate(dtSite.AddYears(200));

                hdnRootID.Value = Guid.Empty.ToString();
                ParentPagePicker.RootContentID = Guid.Empty;

                ContentPage pageContents = null;
                if (guidVersionContentID != Guid.Empty) {
                    pageContents = pageHelper.GetVersion(SiteID, guidVersionContentID);
                }
                if (guidContentID != Guid.Empty && pageContents == null) {
                    pageContents = pageHelper.FindContentByID(SiteID, guidContentID);
                }

                if (guidImportContentID != Guid.Empty) {
                    ContentPageExport cpe = ContentImportExportUtils.GetSerializedContentPageExport(guidImportContentID);

                    if (cpe != null) {
                        pageContents = cpe.ThePage;
                        pageContents.EditDate = SiteData.CurrentSite.Now;

                        var rp = pageHelper.GetLatestContentByURL(SiteID, false, pageContents.FileName);
                        if (rp != null) {
                            pageContents.Root_ContentID = rp.Root_ContentID;
                            pageContents.ContentID = rp.ContentID;
                            pageContents.Parent_ContentID = rp.Parent_ContentID;
                            pageContents.NavOrder = rp.NavOrder;
                        } else {
                            pageContents.Root_ContentID = Guid.Empty;
                            pageContents.ContentID = Guid.Empty;
                            pageContents.NavOrder = pageHelper.GetSitePageCount(SiteID, ContentPageType.PageType.ContentEntry);
                        }
                    }
                }

                //if (pageContents == null) {
                //    pageContents = new ContentPage(SiteData.CurrentSiteID, ContentPageType.PageType.ContentEntry);
                //}

                List<ContentPage> lstContent = pageHelper.GetAllLatestContentList(SiteID);

                GeneralUtilities.BindList(ddlTemplate, cmsHelper.Templates);

                chkDraft.Visible = false;
                divEditing.Visible = false;

                float iThird = (float)(iPageCount - 1) / (float)3;

                Dictionary<string, float> dictTemplates = pageHelper.GetPopularTemplateList(SiteID, ContentPageType.PageType.ContentEntry);
                if (dictTemplates.Any() && dictTemplates.First().Value >= iThird) {
                    try {
                        GeneralUtilities.SelectListValue(ddlTemplate, dictTemplates.First().Key);
                    } catch { }
                }

                if (pageContents == null) {
                    btnDeleteButton.Visible = false;
                }

                if (pageContents != null) {
                    bool bRet = pageHelper.RecordPageLock(pageContents.Root_ContentID, SiteData.CurrentSite.SiteID, SecurityData.CurrentUserGuid);

                    if (pageContents.ContentType != ContentPageType.PageType.ContentEntry) {
                        Response.Redirect(SiteFilename.BlogPostAddEditURL + "?id=" + Request.QueryString.ToString());
                    }

                    cmsHelper.OverrideKey(pageContents.Root_ContentID);
                    cmsHelper.cmsAdminContent = pageContents;
                    cmsHelper.cmsAdminWidget = pageContents.GetWidgetList();

                    BindTextDataGrid();

                    guidRootContentID = pageContents.Root_ContentID;
                    hdnRootID.Value = guidRootContentID.ToString();

                    txtOldFile.Text = pageContents.FileName;

                    if (guidImportContentID != Guid.Empty) {
                        txtOldFile.Text = "";
                    }

                    Dictionary<string, string> dataVersions = (from v in pageHelper.GetVersionHistory(SiteID, pageContents.Root_ContentID)
                                                               join u in ExtendedUserData.GetUserList() on v.EditUserId equals u.UserId
                                                               orderby v.EditDate descending
                                                               select new KeyValuePair<string, string>(v.ContentID.ToString(), string.Format("{0} ({1}) {2}", v.EditDate, u.UserName, (v.IsLatestVersion ? " [**] " : " ")))
                                                                ).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

                    GeneralUtilities.BindListDefaultText(ddlVersions, dataVersions, null, "Page Versions", "00000");

                    bLocked = pageHelper.IsPageLocked(pageContents);

                    pnlHB.Visible = !bLocked;
                    pnlButtons.Visible = !bLocked;
                    divEditing.Visible = bLocked;
                    chkDraft.Visible = !bLocked;
                    pnlHBEmpty.Visible = bLocked;

                    if (bLocked && pageContents.Heartbeat_UserId != null) {
                        MembershipUser usr = SecurityData.GetUserByGuid(pageContents.Heartbeat_UserId.Value);
                        litUser.Text = "Read only mode. User '" + usr.UserName + "' is currently editing the page.";
                    }

                    txtTitle.Text = pageContents.TitleBar;
                    txtNav.Text = pageContents.NavMenuText;
                    txtHead.Text = pageContents.PageHead;
                    txtFileName.Text = pageContents.FileName;
                    txtThumb.Text = pageContents.Thumbnail;

                    txtDescription.Text = pageContents.MetaDescription;
                    txtKey.Text = pageContents.MetaKeyword;

                    txtSort.Text = pageContents.NavOrder.ToString();

                    lblUpdated.Text = pageContents.EditDate.ToString();
                    lblCreateDate.Text = pageContents.CreateDate.ToString();

                    reBody.Text = pageContents.PageText;
                    reLeftBody.Text = pageContents.LeftPageText;
                    reRightBody.Text = pageContents.RightPageText;

                    chkActive.Checked = pageContents.PageActive;
                    chkNavigation.Checked = pageContents.ShowInSiteNav;
                    chkSiteMap.Checked = pageContents.ShowInSiteMap;
                    chkHide.Checked = pageContents.BlockIndex;

                    GeneralUtilities.BindDataBoundControl(gvTracks, pageContents.GetTrackbacks());

                    ucReleaseDate.SetDate(pageContents.GoLiveDate);
                    ucRetireDate.SetDate(pageContents.RetireDate);

                    if (pageContents.CreditUserId.HasValue) {
                        var usr = new ExtendedUserData(pageContents.CreditUserId.Value);
                        hdnCreditUserID.Value = usr.UserName;
                        txtSearchUser.Text = string.Format("{0} ({1})", usr.UserName, usr.EmailAddress);
                    }

                    if (pageContents.Parent_ContentID.HasValue) {
                        ParentPagePicker.SelectedPage = pageContents.Parent_ContentID.Value;
                    }

                    GeneralUtilities.SelectListValue(ddlTemplate, pageContents.TemplateFile.ToLowerInvariant());
                }
            }

            ParentPagePicker.RootContentID = guidRootContentID;

            SetBlankText(reBody);
            SetBlankText(reLeftBody);
            SetBlankText(reRightBody);

            if (ddlVersions.Items.Count < 1) {
                pnlReview.Visible = false;
            }
        }