protected virtual EntityExtensionDto GetEntityExtensionDto( EntityExtensionConfiguration entityConfig) { var entityExtensionDto = new EntityExtensionDto { Properties = new Dictionary <string, ExtensionPropertyDto>(), Configuration = new Dictionary <string, object>() }; foreach (var propertyConfig in entityConfig.GetProperties()) { if (!propertyConfig.IsAvailableToClients) { continue; } entityExtensionDto.Properties[propertyConfig.Name] = CreateExtensionPropertyDto(propertyConfig); } foreach (var customConfig in entityConfig.Configuration.Where(c => !c.Key.StartsWith("_"))) { entityExtensionDto.Configuration[customConfig.Key] = customConfig.Value; } return(entityExtensionDto); }
public ExtensionPropertyConfiguration( [NotNull] EntityExtensionConfiguration entityExtensionConfiguration, [NotNull] Type type, [NotNull] string name) { EntityExtensionConfiguration = Check.NotNull(entityExtensionConfiguration, nameof(entityExtensionConfiguration)); Type = Check.NotNull(type, nameof(type)); Name = Check.NotNull(name, nameof(name)); Configuration = new Dictionary <string, object>(); Attributes = new List <Attribute>(); Validators = new List <Action <ObjectExtensionPropertyValidationContext> >(); Entity = new ExtensionPropertyEntityConfiguration(); UI = new ExtensionPropertyUiConfiguration(); Api = new ExtensionPropertyApiConfiguration(); Attributes.AddRange(ExtensionPropertyHelper.GetDefaultAttributes(Type)); DefaultValue = TypeHelper.GetDefaultValue(Type); }