public HotelMutation(HotelReviewRepository hotelReviewRepository) { FieldAsync <HotelReviewType>( "addReview", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <HotelReviewInputType> > { Name = "Review" }), resolve: async context => { var review = context.GetArgument <HotelReview>("review"); return(await context.TryAsyncResolve(async c => await hotelReviewRepository.AddAsync(review))); }); }
public FancyHotelType(HotelReviewRepository hotelReviewRepository, IDataLoaderContextAccessor dataLoaderContextAccessor) { Name = "FancyHotel"; Field(entity => entity.Id); Field(entity => entity.Name); Field(entity => entity.Description); Field <HotelTypeEnum>("HotelType", "The type of hotel"); //Field<ListGraphType<HotelReviewType>>("HotelReviews", resolve: context => hotelReviewRepository.GetForHotel(context.Source.Id)); Field <ListGraphType <HotelReviewType> >( "HotelReviews", resolve: context => { // TODO var user = context.UserContext as ClaimsPrincipal; var loader = dataLoaderContextAccessor.Context.GetOrAddCollectionBatchLoader <int, HotelReview>("GetReviewsByHotelId", hotelReviewRepository.GetForHotelsAsync); return(loader.LoadAsync(context.Source.Id)); }); Interface <HotelInterface>(); }