Exemple #1
0
        public static void CollectTypes(ref List <Type> types, IGqlType type, Selection selection)
        {
            switch (type)
            {
            case GqlQuery gqlQuery: {
                CollectTypes(ref types, gqlQuery.ReturnType, selection);
            }
            break;

            case GqlMap gqlMap: {
                CollectTypes(ref types, gqlMap.InstanceGqlType, selection);
            }
            break;

            case GqlField gqlObjectProperty: {
                CollectTypes(ref types, gqlObjectProperty.Value, selection);
            }
            break;

            case IGqlUnique gqlObject: {
                types.Add(gqlObject.GetClrType());
                if (selection.Selections != null)
                {
                    foreach (var value in selection.Selections.Values)
                    {
                        CollectTypes(ref types, value.TargetType, value);
                    }
                }
            }
            break;
            }
        }
Exemple #2
0
 public GqlField(IGqlType value, PropertyInfo property, bool isDatabaseValue, string sqlColumn,
                 string sqlTable, string name)
 {
     Value           = value;
     Property        = property;
     IsDatabaseValue = isDatabaseValue;
     SqlColumn       = sqlColumn;
     SqlTable        = sqlTable;
     Name            = name;
 }
Exemple #3
0
        public void RegisterQuery(string name, Func <Selection, Response, object> fn, IGqlType returnGqlType, GqlArgumentsList args = null, bool isPublic = false)
        {
            var query = new GqlQuery {
                Name = name, Resolver = fn, ReturnType = returnGqlType, Arguments = args, IsPublic = isPublic
            };

            Queries.Add(name, query);
        }