예제 #1
0
        void Generate()
        {
            var parser = new JsonStoreSchemaParser();
            var path   = Path.Combine(GetSolutionDirectory(), JsonStorePath);
            var files  = Directory.GetFiles(path);

            foreach (var file in files)
            {
                var json = File.ReadAllText(file);

                if (Path.GetFileName(file).ToLower() == "schema.json")
                {
                    Schema = parser.ReadSchema(json);
                }
                else
                {
                    var q = parser.ReadQuery(json);
                    Queries.Add(q);
                }
            }
        }
        public string GenerateQuery(string schemaFileName, string queryFileName)
        {
            var sb         = new StringBuilder();
            var schemaJson = File.ReadAllText(schemaFileName);
            var queryJson  = File.ReadAllText(queryFileName);
            var parser     = new JsonStoreSchemaParser();

            var schema = parser.ReadSchema(schemaJson);
            var query  = parser.ReadQuery(queryJson);

            var parameters = parser.ReadParameters(query);

            var sq = SortSubQueries(query);


            if (query.Query.Parameters != null && query.Query.Parameters.Any())
            {
                for (int i = 0; i < parameters.Count; i++)
                {
                    var p = parameters[i];

                    sb.AppendLine(@$ "
    var {p.Name} = ({p.Type})parameters[{i}];");