public static IPageType CreatePageTypeWithEverythingButGuidDifferentThanAttribute(InMemoryContext syncContext, PageTypeAttribute pageTypeAttribute) { var pageType = syncContext.PageTypeFactory.CreateNew(); pageType.GUID = pageTypeAttribute.Guid.Value; if(pageTypeAttribute.AvailablePageTypes.Length == 0) throw new Exception("This method only supports attributes that have atleast one type in AvailablePageTypes"); pageType.AllowedPageTypes = new int[0]; pageType.Description = pageTypeAttribute.Description + " more text"; pageType.IsAvailable = !pageTypeAttribute.AvailableInEditMode; pageType.DefaultArchivePageLink = new PageReference(pageTypeAttribute.DefaultArchiveToPageID + 1); pageType.SortOrder = pageTypeAttribute.SortOrder + 1; pageType.DefaultPageName = pageTypeAttribute.DefaultPageName + " more text"; pageType.DefaultStartPublishOffset = (pageTypeAttribute.DefaultStartPublishOffsetMinutes + 1).Minutes(); pageType.DefaultStopPublishOffset = (pageTypeAttribute.DefaultStopPublishOffsetMinutes + 1).Minutes(); pageType.DefaultVisibleInMenu = !pageTypeAttribute.DefaultVisibleInMenu; pageType.DefaultPeerOrder = pageTypeAttribute.DefaultSortIndex + 1; pageType.DefaultChildOrderRule = (pageTypeAttribute.DefaultChildSortOrder == FilterSortOrder.Index) ? FilterSortOrder.Alphabetical : FilterSortOrder.Index; pageType.DefaultFrameID = pageTypeAttribute.DefaultFrameID + 1; pageType.FileName = (pageTypeAttribute.Filename != null && pageTypeAttribute.Filename.Contains(".aspx")) ? pageTypeAttribute.Filename.Replace(".aspx", "_old.aspx") : "~/OldTemplateForThePageType.aspx"; pageType.Name = pageTypeAttribute.Name + " more text"; return pageType; }
public static IPageType CreatePageTypeWithSameValuesAsAttribute(InMemoryContext syncContext, PageTypeAttribute pageTypeAttribute) { var pageType = syncContext.PageTypeFactory.CreateNew(); if(pageTypeAttribute.Guid.HasValue) pageType.GUID = pageTypeAttribute.Guid.Value; pageType.AllowedPageTypes = pageTypeAttribute.AvailablePageTypes .Select(type => syncContext.PageTypeResolver.GetPageTypeID(type).Value).ToArray(); pageType.Description = pageTypeAttribute.Description; pageType.IsAvailable = pageTypeAttribute.AvailableInEditMode; pageType.DefaultArchivePageLink = new PageReference(pageTypeAttribute.DefaultArchiveToPageID); pageType.SortOrder = pageTypeAttribute.SortOrder; pageType.DefaultPageName = pageTypeAttribute.DefaultPageName; pageType.DefaultStartPublishOffset = (pageTypeAttribute.DefaultStartPublishOffsetMinutes).Minutes(); pageType.DefaultStopPublishOffset = (pageTypeAttribute.DefaultStopPublishOffsetMinutes).Minutes(); pageType.DefaultVisibleInMenu = pageTypeAttribute.DefaultVisibleInMenu; pageType.DefaultPeerOrder = pageTypeAttribute.DefaultSortIndex; pageType.DefaultChildOrderRule = pageTypeAttribute.DefaultChildSortOrder; pageType.DefaultFrameID = pageTypeAttribute.DefaultFrameID; pageType.FileName = pageTypeAttribute.Filename; pageType.Name = pageTypeAttribute.Name; return pageType; }
public static PageTypeAttribute CreatePageTypeAttributeWithEverythingSpeficied(InMemoryContext syncContext) { var guid = Guid.NewGuid(); var pageTypeAttribute = new PageTypeAttribute(guid.ToString()); var anotherPageTypeClass = syncContext.CreateAndAddPageTypeClassToAppDomain(type => { }); var existingPageType = syncContext.PageTypeRepository.CreateNew(); existingPageType.Name = anotherPageTypeClass.Name; syncContext.PageTypeRepository.Save(existingPageType); syncContext.PageTypeResolver.AddPageType(existingPageType.ID, anotherPageTypeClass); var availablePageTypes = new[] { anotherPageTypeClass }; pageTypeAttribute.AvailablePageTypes = availablePageTypes; pageTypeAttribute.AvailableInEditMode = false; pageTypeAttribute.Description = "A description"; pageTypeAttribute.SortOrder = 123; pageTypeAttribute.DefaultArchiveToPageID = 567; pageTypeAttribute.DefaultPageName = "Default page name"; pageTypeAttribute.DefaultStartPublishOffsetMinutes = 1234; pageTypeAttribute.DefaultStopPublishOffsetMinutes = 12345; pageTypeAttribute.DefaultVisibleInMenu = false; pageTypeAttribute.DefaultChildSortOrder = FilterSortOrder.Alphabetical; pageTypeAttribute.DefaultSortIndex = 345; pageTypeAttribute.DefaultFrameID = 1; pageTypeAttribute.Filename = "~/TemplateForThePageType.aspx"; pageTypeAttribute.Name = "Page type name"; return pageTypeAttribute; }
public static PageTypeAttribute CreatePageTypeAttributeWithOnlyGuidAndNameSpecified(InMemoryContext syncContext) { var pageTypeAttribute = new PageTypeAttribute(Guid.NewGuid().ToString()); pageTypeAttribute.Name = "Page type name"; return pageTypeAttribute; }
public static IPageType CreatePageTypeWithEverythingButGuidDifferentThanAttribute(InMemoryContext syncContext, PageTypeAttribute pageTypeAttribute) { return CreatePageTypeWithEverythingButGuidDifferentThanAttribute(syncContext, pageTypeAttribute, false); }