public static GResp Parse(string query) { FieldAst field = new FieldAst(); var originalQuery = query; try { Trim(ref query); field.Name = GetQueryName(query); field.Fields = GetFields(query); GraphQLTree.Add(field); kunder kund = new kunder(); Fri00 friKund = new Fri00(); foreach (var f in field.Fields) { var res = kund.Resolver(f).Invoke(); foreach (PropertyInfo prop in friKund.GetType().GetProperties()) { if (prop.Name.ToLower() == f.ToLower()) { prop.SetValue(friKund, res); } } } return(new GResp() { Value = friKund, Name = field.Name }); } catch { throw new Exception("Error in query " + originalQuery); } }
public static void Add(FieldAst field) { _fields.Add(field); }