public override List <OutputFile> Compile()
        {
            var outputFiles = new List <OutputFile>();

            var entityNamespace = new AbstractNamespace {
                Name    = Project.Name + "." + TemplateMeta.EntityLocation,
                Imports = new List <string> {
                    "System",
                    "System.Collections.Generic"
                }
            };
            var clientNamespace = new AbstractNamespace {
                Name    = Project.Name + "." + TemplateMeta.ClientLocation,
                Imports = new List <string> {
                    "System",
                    "System.Collections.Generic",
                    $"{Project.Name}.{TemplateMeta.EntityLocation}"
                }
            };

            var entityClasses = GetClassesByType <EntityNode, CsharpEntityClass>(entityNamespace, this);
            var clientClasses = GetClassesByType <ApiNode, CsharpClientClass>(clientNamespace, this);

            outputFiles.AddRange(entityClasses.Select(c => new CsharpOutputFile(c, TemplateMeta)));
            outputFiles.AddRange(clientClasses.Select(c => new CsharpOutputFile(c, TemplateMeta)));
            return(outputFiles);
        }
Exemplo n.º 2
0
 protected override void RenderAbstractNamespace(AbstractNamespace ns)
 {
     _currentOutput.AddRange(ns.Imports.Select(i => $"using {i};"));
     _currentOutput.AddRange(_rendererExtension.RenderClientImports().Select(i => $"using {i};"));
     _currentOutput.Add($"namespace {ns.Name}");
     _currentOutput.Add("{");
 }
Exemplo n.º 3
0
        public override List <OutputFile> Compile()
        {
            var outputFiles = new List <OutputFile>();
            var projectName = Project.GetProperName();

            var entityNamespace = new AbstractNamespace {
                Name = projectName + @"\" + TemplateMeta.Configuration.EntityLocation
            };

            var clientNamespace = new AbstractNamespace {
                Name    = projectName + @"\" + TemplateMeta.Configuration.ClientLocation,
                Imports = new List <string> {
                    @"JsonMapper",
                    $"{projectName}\\{TemplateMeta.Configuration.EntityLocation}"
                }
            };

            var entityClasses = GetClassesByType <EntityNode, PhpEntityClass>(entityNamespace, this);
            var clientClasses = GetClassesByType <ApiNode, PhpClientClass>(clientNamespace, this);

            outputFiles.AddRange(entityClasses.Select(c => new PhpOutputFile(c, TemplateMeta)));
            outputFiles.AddRange(clientClasses.Select(c => new PhpOutputFile(c, TemplateMeta)));
            return(outputFiles);
        }
Exemplo n.º 4
0
 protected abstract void RenderAbstractNamespace(AbstractNamespace ns);
Exemplo n.º 5
0
 public PhpClass(AbstractNamespace ns, T root, AbstractCompiler compiler) : base(ns, root, compiler)
 {
 }
 public CsharpClass(AbstractNamespace ns, T root, CsharpCompiler compiler)
     : base(ns, root, compiler)
 {
 }