示例#1
0
        public VehicleSubscription(VehicleReadClient vehicleReadClient)
        {
            _vehicleReadClient = vehicleReadClient;

            AddField(new EventStreamFieldType
            {
                Name       = "vehicleChange",
                Type       = typeof(VehicleType),
                Resolver   = new FuncFieldResolver <Contracts.Vehicle>(ctx => ctx.Source as Contracts.Vehicle),
                Subscriber = new EventStreamResolver <Contracts.Vehicle>(GetVehicleChangeSubscription)
            });
        }
        public VehicleQueries(VehicleReadClient vehicleReadClient)
        {
            Name = "Vehicle";

            FieldAsync <VehicleType>("vehicle",
                                     "a vehicle",
                                     new QueryArguments(new QueryArgument(typeof(StringGraphType))
            {
                Name = "vin"
            }),
                                     async ctx => await ctx.TryAsyncResolve(async context =>
                                                                            await vehicleReadClient.GetVehicleAsync(new VehicleRequest {
                Vin = ctx.Arguments["vin"].ToString()
            }))
                                     );
        }