public void T4GeneratorCSharpTest()
        {
            var generator = new T4Generator();

            var result = generator.Generate(model);

            Console.WriteLine(result);
        }
Exemple #2
0
        protected override string Generate(string modelContent, string namspaceName)
        {
            var model     = JsonModelReader.Read(modelContent);
            var fullModel = new Model
            {
                Entities      = model,
                NamespaceName = namspaceName
            };
            var generator = new T4Generator();

            return(generator.Generate(fullModel));
        }
Exemple #3
0
        protected override byte[] GenerateCode(string inputFileName, string inputFileContent)
        {
            var entities = JsonModelReader.Read(inputFileContent);
            var model    = new Model
            {
                Entities      = entities,
                NamespaceName = FileNamespace
            };

            var generator  = new T4Generator();
            var outContent = generator.Generate(model);

            return(Encoding.UTF8.GetBytes(outContent));
        }
Exemple #4
0
        static public void Analisys(string analisysProjectPath, string outGraphPath)
        {
            AnalisysCode analisys = new AnalisysCode("FieldBase");


            //путь к анализируемому csproj файлу
            string projectPath = analisysProjectPath;

            //по указанному пути получаем проджект
            MSBuildWorkspace msWorkspace = MSBuildWorkspace.Create();
            var Project = msWorkspace.OpenProjectAsync(projectPath).Result;

            analisys.ProjectAnalysis(Project);

            var diagnostics = msWorkspace.Diagnostics;

            foreach (var diagnostic in diagnostics)
            {
                Console.WriteLine(diagnostic.Message);
            }

            var         entityInfos = analisys.entityInfos;
            T4Generator t           = new T4Generator(entityInfos);
            String      tText       = t.TransformText();

            Console.WriteLine(tText);

            System.IO.File.WriteAllText(outGraphPath, tText);

            foreach (var a in analisys.entityInfos)
            {
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine(a.className);
                Console.WriteLine(a.baseClassName);
                foreach (var b in a.lFieldInfo.Keys)
                {
                    Console.WriteLine(b + "       " + a.lFieldInfo[b].TypeField);
                    foreach (var c in a.lFieldInfo[b].lParamInfo)
                    {
                        Console.WriteLine(c.FieldName + "     " + c.FieldType + "     " + c.ParamName);
                    }
                    Console.WriteLine();
                }
            }
        }