Example #1
0
        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());
         }
     }
 }