Пример #1
0
 public ContentTypeCreator(IPropertyDefinitionCreator propertyDefinitionCreator, ICoreInterfaceProvider coreInterfaceProvider, IPropertyMappingProvider propertyMappingRepository, IComponentProvider componentProvider)
 {
     PropertyDefinitionCreator = propertyDefinitionCreator;
     CoreInterfaceProvider     = coreInterfaceProvider;
     PropertyMappingRepository = propertyMappingRepository;
     ComponentProvider         = componentProvider;
 }
Пример #2
0
 public CoreInterfaceCreator(IComponentProvider componentProvider, IPropertyDefinitionCreator propertyDefinitionCreator)
 {
     ComponentProvider         = componentProvider;
     PropertyDefinitionCreator = propertyDefinitionCreator;
 }
Пример #3
0
 public CoreInterfaceCreator(IAssemblyProvider assemblyProvider, IPropertyDefinitionCreator propertyDefinitionCreator)
 {
     AssemblyProvider          = assemblyProvider;
     PropertyDefinitionCreator = propertyDefinitionCreator;
 }
        public PropertyDefinitionProvider(IContentTypeProvider contentTypeProvider, IPropertyMappingProvider propertyMappingProvider, IPropertyDefinitionCreator propertyDefinitionCreator)
        {
            foreach (var contentType in contentTypeProvider.GetAll())
            {
                var propertyDefinitions = new List <PropertyDefinitionDescriptor>();

                foreach (var property in contentType.Type.GetProperties())
                {
                    var mapping = propertyMappingProvider.Get(property);

                    if (mapping.PropertyMappingType == PropertyMappingType.Ignored)
                    {
                        continue;
                    }

                    if (mapping.PropertyMappingType == PropertyMappingType.CoreInterface)
                    {
                        continue;
                    }

                    if (mapping.PropertyMappingType == PropertyMappingType.Incomplete)
                    {
                        continue;
                    }

                    propertyDefinitions.Add(propertyDefinitionCreator.Create(property));
                }

                Values[contentType.Id] = propertyDefinitions.AsReadOnly();
            }
        }