public DynamicLayoutBuilder(ISchemaLayoutBuilder <TSchema> builder) { _builder = builder; _properties = new List <ILayoutProperty <TLayout, TSchema> >(); ImplementationType = builder.GetImplementationType <TLayout>(); }
public void Apply(ISchemaLayoutBuilder <TSchema> builder) { var entityMapBuilder = new DynamicLayoutBuilder <TLayout, TSchema>(builder); foreach (var specification in _specifications.Values) { specification.Apply(entityMapBuilder); } var map = entityMapBuilder.Build(); builder.Add(map); }
void BuildLayout(ISchemaLayoutBuilder <TSchema> builder) { var layoutBuilder = new DynamicLayoutBuilder <TLayout, TSchema>(builder); foreach (var specification in _specifications.Values) { specification.Apply(layoutBuilder); } var map = layoutBuilder.Build(); builder.Add(map); }
void BuildLayouts(ISchemaLayoutBuilder <TSchema> schemaBuilder) { var builder = new SchemaLayoutBuilder <TSchema>(schemaBuilder); var graph = new DependencyGraph <Type>(); foreach (var specification in _structureSpecifications) { foreach (var layoutType in specification.Value.GetReferencedLayoutTypes()) { graph.Add(specification.Key, layoutType); } } var orderedSpecifications = graph.GetItemsInDependencyOrder() .Concat(_structureSpecifications.Keys) .Distinct() .Select(type => _structureSpecifications[type]); foreach (var specification in orderedSpecifications) { specification.Apply(builder); } }
public SchemaLayoutBuilder(ISchemaLayoutBuilder <TSchema> schemaBuilder) { _schemaBuilder = schemaBuilder; }
public void Apply(ISchemaLayoutBuilder <TSchema> builder) { Specification.Apply(builder); }
void BuildFormatter(ISchemaLayoutBuilder <TSchema> builder) { }
public void Apply(ISchemaLayoutBuilder <TSchema> builder) { BuildFormatter(builder); BuildLayout(builder); }