Beispiel #1
0
    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);
        }
    }
Beispiel #2
0
 public static void Add(FieldAst field)
 {
     _fields.Add(field);
 }