internal static EditablePage CreateEditableChildPage(CmsPage page, int pageTypeId)
        {
            var pageType = PageType.GetPageType(pageTypeId);

            if (pageType == null)
            {
                var exception = new Exception(string.Format("Pagetype with id '{0}' not found!", pageTypeId));
                Logger.Write(exception, Logger.Severity.Critical);
                throw exception;
            }

            var editablePage = new EditablePage {
                PageId             = Guid.NewGuid(),
                PageTypeId         = pageTypeId,
                ParentId           = page.PageId,
                LanguageId         = page.LanguageId,
                CurrentVersion     = 1,
                ChildSortDirection = pageType.DefaultChildSortDirection,
                ChildSortOrder     = pageType.DefaultChildSortOrder
            };

            if (page.PageId == SiteSettings.RootPage)
            {
                editablePage.RootId    = editablePage.PageId;
                editablePage.TreeLevel = 0;
            }
            else
            {
                editablePage.RootId    = page.RootId;
                editablePage.TreeLevel = page.TreeLevel + 1;
            }

            return(editablePage);
        }
        private static void ShallowCopyProperties(CmsPage page, EditablePage editablePage)
        {
            var propertyItems      = page.Property.Select(Mapper.Map <PropertyItem, PropertyItem>).ToList();
            var propertyCollection = new PropertyCollection {
                Properties = propertyItems
            };

            editablePage.Property = propertyCollection;
        }
        internal static EditablePage CreateEditableChildPage(CmsPage page, Type type)
        {
            PageType pageType = PageType.GetPageType(type);

            if (pageType == null)
            {
                throw new Exception("Can't find page type for type " + type.Name);
            }

            EditablePage editablePage = CreateEditableChildPage(page, pageType.PageTypeId);

            return(editablePage);
        }
示例#4
0
        public virtual EditablePage MakeEditable()
        {
            EditablePage editablePage = EditablePage.CreateEditablePage(this);

            return(editablePage);
        }
示例#5
0
        public EditablePage CreateChildPage(int pageTypeId)
        {
            EditablePage editablePage = EditablePage.CreateEditableChildPage(this, pageTypeId);

            return(editablePage);
        }
示例#6
0
        public EditablePage CreateChildPage(Type type)
        {
            EditablePage editablePage = EditablePage.CreateEditableChildPage(this, type);

            return(editablePage);
        }
示例#7
0
        internal static EditablePage CreateEditableChildPage(CmsPage page, int pageTypeId) {
            var pageType = PageType.GetPageType(pageTypeId);

            if (pageType == null) {
                var exception = new Exception(string.Format("Pagetype with id '{0}' not found!", pageTypeId));
                Logger.Write(exception, Logger.Severity.Critical);
                throw exception;
            }

            var editablePage = new EditablePage {
                PageId = Guid.NewGuid(),
                PageTypeId = pageTypeId,
                ParentId = page.PageId,
                LanguageId = page.LanguageId,
                CurrentVersion = 1,
                ChildSortDirection = pageType.DefaultChildSortDirection,
                ChildSortOrder = pageType.DefaultChildSortOrder
            };

            if (page.PageId == SiteSettings.RootPage) {
                editablePage.RootId = editablePage.PageId;
                editablePage.TreeLevel = 0;
            }
            else {
                editablePage.RootId = page.RootId;
                editablePage.TreeLevel = page.TreeLevel + 1;
            }

            return editablePage;
        }
示例#8
0
 private static void ShallowCopyProperties(CmsPage page, EditablePage editablePage) {
     var propertyItems = page.Property.Select(Mapper.Map<PropertyItem, PropertyItem>).ToList();
     var propertyCollection = new PropertyCollection { Properties = propertyItems };
     
     editablePage.Property = propertyCollection;
 }
示例#9
0
 public virtual void SetDefaults(EditablePage editablePage)
 {
     // No defaults
 }