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}];");