public WebpageInfo CreatePage(int parentPageNavigationId)
        {
            WebpageInfo currentPage = Webpage.GetWebpage(parentPageNavigationId);
            WebpageInfo newPage     = GetInput_WebpageInfo(currentPage);

            Webpage.WebpageCreateStatus status;
            newPage.ParentInstanceId = parentPageNavigationId;

            //this will be sanitized by CreateWebpage()
            newPage.PathName = string.IsNullOrEmpty(tbTitle.Text.Trim()) ? tbPageNavigationText.Text.Trim() : tbTitle.Text.Trim();

            // Set the template
            if (!String.IsNullOrEmpty(ModuleTemplate))
            {
                var tplGroup = ModuleTemplate.Replace(" - ", "-").Split('-');
                newPage.TemplateGroup = tplGroup[0];
                newPage.Template      = tplGroup[1];
            }

            newPage = Webpage.CreateWebpage(newPage, out status);
            if (status != Webpage.WebpageCreateStatus.Success)
            {
                throw new InvalidOperationException("page creation failed: " + status);
            }

            return(newPage);
        }
Esempio n. 2
0
        protected void CreateButton_Click(object sender, EventArgs e)
        {
            string TemplateGroup = TemplateDropDownList.SelectedValue.Replace(" - ", "-").Split('-')[0];
            string Template      = TemplateDropDownList.SelectedValue.Replace(" - ", "-").Split('-')[1];
            string Theme         = null;

            if (ThemeDropDownList.SelectedValue != string.Empty)
            {
                Theme = ThemeDropDownList.SelectedValue;
            }

            string title       = TitleTextBox.Text;
            string keywords    = KeywordsTextBox.Text;
            string description = DescriptionTextBox.Text;

            bool DisplayInNavigation = DisplayCheckBox.Checked;

            Webpage.WebpageCreateStatus status;
            WebpageInfo newPage = Webpage.CreateWebpage(TemplateGroup, Template, Theme, title, keywords, description, description, _parentNavId, DisplayInNavigation,
                                                        out status);

            switch (status)
            {
            case Webpage.WebpageCreateStatus.DuplicateName:
                Msg.ShowError(string.Format("Failed to save page. Path name '{0}' already exists.", TitleTextBox.Text));
                break;

            case Webpage.WebpageCreateStatus.IllegalName:
                Msg.ShowError(string.Format("Failed to save page. Path name '{0}' is not allowed.", TitleTextBox.Text));
                break;

            case Webpage.WebpageCreateStatus.Success:
                CreateWebsiteIfRootPage(newPage);
                Response.Redirect(string.Format("AddModule.aspx?ParentInstanceId={0}&PageId={1}&InstanceId={2}",
                                                _parentNavId,
                                                newPage.Id,
                                                newPage.InstanceId));
                break;

            case Webpage.WebpageCreateStatus.None:
            default:
                Msg.ShowError("Error.");
                break;
            }
        }
        private Webpage.WebpageCreateStatus createAbsoluteLink()
        {
            Webpage.WebpageCreateStatus status;

            //a link is really a Webpage with an external link; thus,
            //it adds a record to both WebModules_Navigation and WebModules_Pages.
            WebpageInfo link = Webpage.CreateWebpage(uxTitle.Text,
                                                     this._parentNavigationId,
                                                     uxAbsoluteUrl.Text,
                                                     uxShowInNavigation.Checked,
                                                     out status);

            if (status == Webpage.WebpageCreateStatus.Success)
            {
                Response.Redirect("Default.aspx?instanceId=" + link.InstanceId);
            }

            return(status);
        }