Ejemplo n.º 1
0
        public static void CreateDataClasses(this GraphQlSchema schema, Options options)
        {
            var dataClassesPath = $"{options.OutputPath}\\Models";

            dataClassesPath.CreateDirectory();
            var objectTypes = schema.Types.Where(t => t.Kind == GraphQlGenerator.GraphQlTypeKindObject && !t.Name.StartsWith("__")).ToArray();

            foreach (var graphQlType in objectTypes)
            {
                StringBuilder classBuilder = new StringBuilder();
                GraphQlGenerator.GenerateDataClass(graphQlType, classBuilder);
                classBuilder.AppendLine();
                var filePath = $"{dataClassesPath}\\{graphQlType.Name}.cs";
                var file     = filePath.CreateTextFile();
                CreateCsContent(file, $"{options.TopNamespace}.Models", classBuilder.IndentLines());
                file.Flush();
                file.Close();
            }
        }