Example #1
0
        private IEnumerable<component> ProcessComponent(IEnumerable<Component> components)
        {
            foreach (var component in components.OrderBy(c => c.Name))
            {
                var componentNode = new component();
                componentNode.@class = component.Specification.Name;
                componentNode.name = component.Name;

                foreach (var property in component.Properties.OrderBy(p => p.PropertyName))
                {
                    ComponentProperty representedProperty = property.RepresentedProperty;
                    var propertyNode = new property();
                    propertyNode.name = representedProperty.Name;
                    propertyNode.type1 = representedProperty.Type;
                    propertyNode.column = property.MappedColumn().Name.BackTick();
                    propertyNode.notnull = true; // This must be true for Component Properties.
                    componentNode.AddProperty(propertyNode);
                }
                yield return componentNode;
            }
        }