public void FindsDetailDefinedOnClass() { IList <IEditable> editables = explorer.Find <IEditable>(typeof(Items.DefinitionTwoColumnPage)); Assert.AreEqual(2, editables.Count); TypeAssert.AreEqual(typeof(N2.Details.WithEditableTitleAttribute), editables[0]); TypeAssert.AreEqual(typeof(N2.Details.WithEditableNameAttribute), editables[1]); }
public SimpleTypeDefinition(IEditableHierarchyBuilder<IEditor> hierarchyBuilder, AttributeExplorer<IEditorContainer> containerExplorer, AttributeExplorer<IEditor> editorExplorer, object objectToWrap) { _objectToWrap = objectToWrap; IEnumerable<Property> properties = _objectToWrap.GetType().GetProperties().Select(pi => new Property(pi)); IEnumerable<IEditorContainer> containers = containerExplorer.Find(objectToWrap.GetType()); _editors = editorExplorer.Find(objectToWrap.GetType()); RootContainer = hierarchyBuilder.Build(containers, _editors); }
public void Write(ContentItem item, XmlTextWriter writer) { IList<IAttachmentHandler> attachments = explorer.Find<IAttachmentHandler>(item.GetContentType()); if(attachments.Count > 0) { using(new ElementWriter("attachments", writer)) { foreach(IAttachmentHandler attachment in attachments) { using (ElementWriter attachmentElement = new ElementWriter("attachment", writer)) { attachmentElement.WriteAttribute("name", attachment.Name); attachment.Write(item, writer); } } } } }