public BookType(BookReviewsRepository bookReviewsRepository) { Field(t => t.ISBN); Field(t => t.Title); Field(t => t.Authors); Field(t => t.PublishDate); Field <GenreEnumType>("genre", "Genre of book"); Field <ListGraphType <BookReviewType> >( "reviews", resolve: context => bookReviewsRepository.GetBookReviews(context.Source.ISBN) ); }
public BooksMutation(BookReviewsRepository bookReviewsRepository) { FieldAsync <BookReviewType>( "createReview", arguments: new QueryArguments(new QueryArgument <NonNullGraphType <BookReviewInputType> > { Name = "review" }), resolve: async context => { var review = context.GetArgument <BookReview>("review"); // try or catch exception and add it to GraphQL errors return(await context.TryAsyncResolve( async c => await bookReviewsRepository.CreateBookReview(review))); } ); }
public BookType( BookReviewsRepository bookReviewsRepository) //IDataLoaderContextAccessor dataLoaderContextAccessor) { Field(t => t.ISBN).Description("Unique identifier for a book"); Field(t => t.Title); Field(t => t.Authors); Field(t => t.PublishDate); Field <GenreEnumType>("genre", "Genre of book"); Field <ListGraphType <BookReviewType> >( "reviews", resolve: context => bookReviewsRepository.GetBookReviews(context.Source.ISBN)); //resolve: context => //{ // var loader = dataLoaderContextAccessor.Context.GetOrAddCollectionBatchLoader<string, BookReview>( // "GetBookReviewByBookISBNs", (isbns) => bookReviewsRepository.GetBookReviewsByMultipleISBNs(isbns)); // return loader.LoadAsync(context.Source.ISBN); //} }