Example #1
0
        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]);
        }
Example #2
0
        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);
        }
Example #3
0
		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);
						}
					}
				}
			}
		}