public void Write(ConfigurationBase configurationBase, List <ITransferObject> transferObjects, IOutput output) { DemoWriteConfiguration configuration = (DemoWriteConfiguration)configurationBase; List <FileTemplate> files = new List <FileTemplate>(); // You can add here multiple writers this.resolver.Create <DemoModelWriter>().Write(configuration, transferObjects, files); files.ForEach(file => configuration.Language.Write(file, output)); }
public void Write(DemoWriteConfiguration configuration, List <ITransferObject> transferObjects, List <FileTemplate> files) { foreach (ModelTransferObject model in transferObjects.OfType <ModelTransferObject>()) { Logger.Trace($"Write {model.Name}..."); ClassTemplate classTemplate = files.AddFile(configuration.RelativePath, configuration.AddHeader) .AddNamespace(model.Namespace) .AddClass(model.Name) .FormatName(configuration); foreach (PropertyTransferObject property in model.Properties) { classTemplate.AddProperty(property.Name, property.Type.ToTemplate()); } if (configuration.Test2) { classTemplate.WithUsing("System", null, null) .AddMethod("Test2", Code.Void()) .Code.AddLine(Code.Static(Code.Type("Console")).Method("WriteLine", Code.String("Hello World!")).Close()); } } }