public MethodInfo(string name, string className, IElementInfo parent) { Name = name; ClassName = className; Parent = parent; Methods = new List <MethodInfo>(); }
public ThreadInfo(int id) { Id = id; Parent = null; Methods = new List <MethodInfo>(); CurrentElement = this; }
public void Initialize() { var mockElement = new Mock<IElementInfo>(); mockElement.Setup(x => x.Properties) .Returns(new[] { Mocks.Of<IPropertyInfo>().First(p => p.Type == "System.String"), Mocks.Of<IPropertyInfo>().First(p => p.Type == "System.Boolean" && p.TypeConverterTypeName == "System.ComponentModel.StringConverter, System"), Mocks.Of<IPropertyInfo>().First(p => p.Type == "System.Int32" && p.TypeConverterTypeName == "NuPattern.StringConverter, Microsoft"), Mocks.Of<IPropertyInfo>().First(p => p.Type == "System.Boolean" && p.EditorTypeName == "System.ComponentModel.UIEditor, System"), Mocks.Of<IPropertyInfo>().First(p => p.Type == "System.String" && p.EditorTypeName == "System.ComponentModel.Design.MultilineStringEditor, System.Design"), }); this.element = mockElement.Object; }
public void Initialize() { var mockElement = new Mock <IElementInfo>(); mockElement.Setup(x => x.Properties) .Returns(new[] { Mocks.Of <IPropertyInfo>().First(p => p.Type == "System.String"), Mocks.Of <IPropertyInfo>().First(p => p.Type == "System.Boolean" && p.TypeConverterTypeName == "System.ComponentModel.StringConverter, System"), Mocks.Of <IPropertyInfo>().First(p => p.Type == "System.Int32" && p.TypeConverterTypeName == "NuPattern.StringConverter, Microsoft"), Mocks.Of <IPropertyInfo>().First(p => p.Type == "System.Boolean" && p.EditorTypeName == "System.ComponentModel.UIEditor, System"), Mocks.Of <IPropertyInfo>().First(p => p.Type == "System.String" && p.EditorTypeName == "System.ComponentModel.Design.MultilineStringEditor, System.Design"), }); this.element = mockElement.Object; }
public void Accept(IElementInfo elementGenerationInfo) { elements.Add(elementGenerationInfo); }
/// <summary> /// Retrieves page for display. /// </summary> /// <param name="tenantId">Website whose page is read.</param> /// <param name="pageContext">Page context.</param> /// <returns>View model required to render a page.</returns> public PageViewModel GetPageViewModelFromPageContext(IPageContext pageContext) { // Construct page view model PageViewModel pageViewModel = new PageViewModel { Administration = pageContext.MasterPage.Administration, PageContext = pageContext, BeginRender = FormatLayoutHtml(pageContext.Page, pageContext.MasterPage.BeginRender), EndRender = FormatLayoutHtml(pageContext.Page, pageContext.MasterPage.EndRender), PageZoneViewModels = new List <PageZoneViewModel>(), Title = GetPageTitle(pageContext), MetaKeywords = GetMetaKeywords(pageContext.Page), MetaDescription = GetMetaDescription(pageContext.Page), AssetStyleSheetPath = _assetService.GetAssetStyleSheetPath(pageContext.Web.TenantId), FontOptionStyleSheetPath = _assetService.GetFontOptionStyleSheetPath(pageContext.Web.TenantId, pageContext.Web.FontOption), ColourOptionStyleSheetPath = _assetService.GetColourOptionStyleSheetPath(pageContext.Web.TenantId, pageContext.Web.ColourOption), ForumAction = GetForumAction(), AssetElementTypes = _assetService.GetAssetElementTypes(pageContext.Web.TenantId), StockElementViewPath = "~/Views/Elements", AssetElementViewPath = _assetService.GetElementViewPath(pageContext.Web.TenantId) }; // Maintain lists of page elements, master elements and configurable page zones List <IElementInfo> pageElements = new List <IElementInfo>(); List <IElementInfo> masterElements = new List <IElementInfo>(); List <PageZone> configurablePageZones = new List <PageZone>(); // Get page zones by master page zone ID Dictionary <long, PageZone> pageZonesByMasterPageZoneId = new Dictionary <long, PageZone>(); foreach (PageZone pageZone in pageContext.Page.PageZones) { pageZonesByMasterPageZoneId.Add(pageZone.MasterPageZoneId, pageZone); } // Populate page zone view models foreach (MasterPageZone masterPageZone in pageContext.MasterPage.MasterPageZones) { // Construct page zone view model PageZoneViewModel pageZoneViewModel = new PageZoneViewModel { BeginRender = FormatLayoutHtml(pageContext.Page, masterPageZone.BeginRender), EndRender = FormatLayoutHtml(pageContext.Page, masterPageZone.EndRender), ContentType = masterPageZone.ContentType, PageZoneElementViewModels = new List <PageZoneElementViewModel>() }; // Get page zone element view models PageZone pageZone; if (pageZonesByMasterPageZoneId.TryGetValue(masterPageZone.MasterPageZoneId, out pageZone)) { // Associate master page zone with page zone pageZone.MasterPageZone = masterPageZone; // If master page zone admin type is Editable, sort order is NULL at PageZoneElement level and we must use sort order stored in MasterPageZoneElement Dictionary <long, MasterPageZoneElement> masterPageZoneElementsById = null; if (masterPageZone.AdminType == MasterPageZoneAdminType.Editable) { // If admin type is Editable, then defer to MasterPageZoneElement level for ordering masterPageZoneElementsById = new Dictionary <long, MasterPageZoneElement>(); foreach (MasterPageZoneElement masterPageZoneElement in masterPageZone.MasterPageZoneElements) { masterPageZoneElementsById.Add(masterPageZoneElement.MasterPageZoneElementId, masterPageZoneElement); } foreach (PageZoneElement pageZoneElement in pageZone.PageZoneElements) { MasterPageZoneElement masterPageZoneElement = masterPageZoneElementsById[pageZoneElement.MasterPageZoneElementId.Value]; pageZoneElement.SortOrder = masterPageZoneElement.SortOrder; } pageZone.PageZoneElements.Sort(new PageZoneElementComparer()); } // Get page zone element view models from page if (masterPageZone.AdminType == MasterPageZoneAdminType.Configurable) { configurablePageZones.Add(pageZone); } foreach (PageZoneElement pageZoneElement in pageZone.PageZoneElements) { IElementSettings settings = _elementService.Read(pageContext.Web.TenantId, pageZoneElement.ElementTypeId, pageZoneElement.ElementId); IElementContent content = _elementService.GetContent(settings, pageContext); IElementInfo info = _elementService.NewInfo(settings, content); pageElements.Add(info); PageZoneElementViewModel pageZoneElementViewModel = new PageZoneElementViewModel { ElementInfo = info }; if (masterPageZone.AdminType == MasterPageZoneAdminType.Editable) { pageZoneElementViewModel.BeginRender = masterPageZoneElementsById[pageZoneElement.MasterPageZoneElementId.Value].BeginRender; pageZoneElementViewModel.EndRender = masterPageZoneElementsById[pageZoneElement.MasterPageZoneElementId.Value].EndRender; } pageZoneViewModel.PageZoneElementViewModels.Add(pageZoneElementViewModel); } } else { // Get page zone element view models from master page foreach (MasterPageZoneElement masterPageZoneElement in masterPageZone.MasterPageZoneElements) { IElementSettings settings = _elementService.Read(pageContext.Web.TenantId, masterPageZoneElement.Element.ElementTypeId, masterPageZoneElement.ElementId); IElementContent content = _elementService.GetContent(settings, pageContext); IElementInfo info = _elementService.NewInfo(settings, content); masterElements.Add(info); pageZoneViewModel.PageZoneElementViewModels.Add(new PageZoneElementViewModel { ElementInfo = info, BeginRender = masterPageZoneElement.BeginRender, EndRender = masterPageZoneElement.EndRender }); } } // Register page zone view model pageViewModel.PageZoneViewModels.Add(pageZoneViewModel); } // Pass administration options to elements that can display them IAdministrationOptions options = _administrationService.GetAdministrationOptions(pageContext, pageElements, masterElements, configurablePageZones); List <IElementInfo> administrationElements = GetElementsWithContent <IAdministrationContent>(pageViewModel); foreach (IElementInfo elementInfo in administrationElements) { ((IAdministrationContent)elementInfo.Content).Options = options; } SetConsumerPageLinks(pageViewModel); pageViewModel.Options = options; // Return the resulting page view model return(pageViewModel); }
public static Element SyncElement(Element element, IElementInfo schema) { SyncContainer(element, schema); return element; }
public void Initialize() { this.storeFilePath = Path.Combine(Path.GetTempPath(), Path.GetTempFileName()); var viewInfo = Mocks.Of<IViewInfo>().First(x => x.Id == Guid.NewGuid()); this.elementInfo = Mock.Of<IElementInfo>(x => x.Id == Guid.NewGuid() && x.Cardinality == Cardinality.ZeroToMany && x.Elements == new List<IAbstractElementInfo> { Mock.Of<IElementInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.OneToOne && e.AutoCreate == true), Mock.Of<ICollectionInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.OneToOne && e.AutoCreate == true), Mock.Of<ICollectionInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.ZeroToMany) } && x.Properties == new List<IPropertyInfo> { Mock.Of<IPropertyInfo>(p => p.Id == Guid.NewGuid() && p.Name == "Foo" + Guid.NewGuid() && p.Type == "System.String"), Mock.Of<IPropertyInfo>(p => p.Id == Guid.NewGuid() && p.Name == "Foo" + Guid.NewGuid() && p.Type == "System.String") } && x.ExtensionPoints == new List<IExtensionPointInfo> { Mock.Of<IExtensionPointInfo>(ep => ep.Id == Guid.NewGuid() && ep.Cardinality == Cardinality.OneToOne && ep.RequiredExtensionPointId == "ext_1"), Mock.Of<IExtensionPointInfo>(ep => ep.Id == Guid.NewGuid() && ep.Cardinality == Cardinality.ZeroToMany && ep.RequiredExtensionPointId == "ext_2"), }); var providedExtension1 = Mocks.Of<IProvidedExtensionPointInfo>().First(x => x.ExtensionPointId == "ext_1"); var extensionPoint1 = Mocks.Of<IInstalledToolkitInfo>().First(x => x.Id == "ext_toolkit_1" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.ExtensionId == "ext_toolkit_1" && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension1 }); var providedExtension2 = Mocks.Of<IProvidedExtensionPointInfo>().First(x => x.ExtensionPointId == "ext_2"); var extensionPoint2 = Mocks.Of<IInstalledToolkitInfo>().First(x => x.Id == "ext_toolkit_2" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.ExtensionId == "ext_toolkit_2" && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension2 }); Mock.Get(viewInfo).Setup(x => x.Elements).Returns(new[] { elementInfo }); var toolkit = Mocks.Of<IInstalledToolkitInfo>().First(x => x.Id == "test_toolkit" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.Views == new[] { viewInfo } && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension1, providedExtension2 }); var patternManager = new Mock<IPatternManager>(); patternManager.Setup(x => x.InstalledToolkits) .Returns(new[] { toolkit, extensionPoint1, extensionPoint2 }); var serviceProvider = new Mock<IServiceProvider>(); serviceProvider.Setup(x => x.GetService(typeof(IPatternManager))) .Returns(patternManager.Object); using (var store = new Microsoft.VisualStudio.Modeling.Store(serviceProvider.Object, typeof(Microsoft.VisualStudio.Modeling.CoreDomainModel), typeof(ProductStateStoreDomainModel))) using (var tx = store.TransactionManager.BeginTransaction()) { var productStore = store.ElementFactory.CreateElement<ProductState>(); var element = productStore .CreateProduct(x => { x.ExtensionId = "test_toolkit"; x.DefinitionId = toolkit.Schema.Pattern.Id; }) .CreateView(x => x.DefinitionId = viewInfo.Id) .CreateElement(x => x.DefinitionId = this.elementInfo.Id); this.elementId = element.Id; element.CreateCollection(x => x.DefinitionId = this.elementInfo.Elements.ElementAt(2).Id); element.CreateCollection(x => x.DefinitionId = this.elementInfo.Elements.ElementAt(2).Id); element.CreateExtension(x => { x.DefinitionId = extensionPoint1.Schema.Pattern.Id; x.ExtensionId = extensionPoint1.Schema.Pattern.ExtensionId; }); element.CreateExtension(x => { x.DefinitionId = extensionPoint2.Schema.Pattern.Id; x.ExtensionId = extensionPoint2.Schema.Pattern.ExtensionId; }); element.CreateExtension(x => { x.DefinitionId = extensionPoint2.Schema.Pattern.Id; x.ExtensionId = extensionPoint2.Schema.Pattern.ExtensionId; }); ProductStateStoreSerializationHelper.Instance.SaveModel(new Microsoft.VisualStudio.Modeling.SerializationResult(), productStore, this.storeFilePath); tx.Commit(); } this.store = new Microsoft.VisualStudio.Modeling.Store(serviceProvider.Object, typeof(Microsoft.VisualStudio.Modeling.CoreDomainModel), typeof(ProductStateStoreDomainModel)); }
public void Initialize() { this.storeFilePath = Path.Combine(Path.GetTempPath(), Path.GetTempFileName()); var viewInfo = Mocks.Of <IViewInfo>().First(x => x.Id == Guid.NewGuid()); this.elementInfo = Mock.Of <IElementInfo>(x => x.Id == Guid.NewGuid() && x.Cardinality == Cardinality.ZeroToMany && x.Elements == new List <IAbstractElementInfo> { Mock.Of <IElementInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.OneToOne && e.AutoCreate == true), Mock.Of <ICollectionInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.OneToOne && e.AutoCreate == true), Mock.Of <ICollectionInfo>(e => e.Id == Guid.NewGuid() && e.Cardinality == Cardinality.ZeroToMany) } && x.Properties == new List <IPropertyInfo> { Mock.Of <IPropertyInfo>(p => p.Id == Guid.NewGuid() && p.Name == "Foo" + Guid.NewGuid() && p.Type == "System.String"), Mock.Of <IPropertyInfo>(p => p.Id == Guid.NewGuid() && p.Name == "Foo" + Guid.NewGuid() && p.Type == "System.String") } && x.ExtensionPoints == new List <IExtensionPointInfo> { Mock.Of <IExtensionPointInfo>(ep => ep.Id == Guid.NewGuid() && ep.Cardinality == Cardinality.OneToOne && ep.RequiredExtensionPointId == "ext_1"), Mock.Of <IExtensionPointInfo>(ep => ep.Id == Guid.NewGuid() && ep.Cardinality == Cardinality.ZeroToMany && ep.RequiredExtensionPointId == "ext_2"), }); var providedExtension1 = Mocks.Of <IProvidedExtensionPointInfo>().First(x => x.ExtensionPointId == "ext_1"); var extensionPoint1 = Mocks.Of <IInstalledToolkitInfo>().First(x => x.Id == "ext_toolkit_1" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.ExtensionId == "ext_toolkit_1" && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension1 }); var providedExtension2 = Mocks.Of <IProvidedExtensionPointInfo>().First(x => x.ExtensionPointId == "ext_2"); var extensionPoint2 = Mocks.Of <IInstalledToolkitInfo>().First(x => x.Id == "ext_toolkit_2" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.ExtensionId == "ext_toolkit_2" && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension2 }); Mock.Get(viewInfo).Setup(x => x.Elements).Returns(new[] { elementInfo }); var toolkit = Mocks.Of <IInstalledToolkitInfo>().First(x => x.Id == "test_toolkit" && x.Schema.Pattern.Id == Guid.NewGuid() && x.Schema.Pattern.Views == new[] { viewInfo } && x.Schema.Pattern.ProvidedExtensionPoints == new[] { providedExtension1, providedExtension2 }); var patternManager = new Mock <IPatternManager>(); patternManager.Setup(x => x.InstalledToolkits) .Returns(new[] { toolkit, extensionPoint1, extensionPoint2 }); var serviceProvider = new Mock <IServiceProvider>(); serviceProvider.Setup(x => x.GetService(typeof(IPatternManager))) .Returns(patternManager.Object); using (var store = new Microsoft.VisualStudio.Modeling.Store(serviceProvider.Object, typeof(Microsoft.VisualStudio.Modeling.CoreDomainModel), typeof(ProductStateStoreDomainModel))) using (var tx = store.TransactionManager.BeginTransaction()) { var productStore = store.ElementFactory.CreateElement <ProductState>(); var element = productStore .CreateProduct(x => { x.ExtensionId = "test_toolkit"; x.DefinitionId = toolkit.Schema.Pattern.Id; }) .CreateView(x => x.DefinitionId = viewInfo.Id) .CreateElement(x => x.DefinitionId = this.elementInfo.Id); this.elementId = element.Id; element.CreateCollection(x => x.DefinitionId = this.elementInfo.Elements.ElementAt(2).Id); element.CreateCollection(x => x.DefinitionId = this.elementInfo.Elements.ElementAt(2).Id); element.CreateExtension(x => { x.DefinitionId = extensionPoint1.Schema.Pattern.Id; x.ExtensionId = extensionPoint1.Schema.Pattern.ExtensionId; }); element.CreateExtension(x => { x.DefinitionId = extensionPoint2.Schema.Pattern.Id; x.ExtensionId = extensionPoint2.Schema.Pattern.ExtensionId; }); element.CreateExtension(x => { x.DefinitionId = extensionPoint2.Schema.Pattern.Id; x.ExtensionId = extensionPoint2.Schema.Pattern.ExtensionId; }); ProductStateStoreSerializationHelper.Instance.SaveModel(new Microsoft.VisualStudio.Modeling.SerializationResult(), productStore, this.storeFilePath); tx.Commit(); } this.store = new Microsoft.VisualStudio.Modeling.Store(serviceProvider.Object, typeof(Microsoft.VisualStudio.Modeling.CoreDomainModel), typeof(ProductStateStoreDomainModel)); }