Beispiel #1
0
        public BookQuery(BookQueryHandler queryHandler)
        {
            Field <BookType>(
                "book",
                arguments: new QueryArguments(
                    new QueryArgument <IdGraphType> {
                Name = "id", Description = "The ID of the book."
            }),
                resolve: context =>
            {
                var id    = context.GetArgument <int>("id");
                var query = new GetBookByIdQuery {
                    Id = id
                };
                var book = queryHandler.Handle(query);
                return(book);
            });

            Field <ListGraphType <BookType> >(
                "books",
                resolve: context =>
            {
                var query = new GetBooksQuery();
                var books = queryHandler.Handle(query);
                return(books);
            });
        }
Beispiel #2
0
        public async Task <IActionResult> Get(Guid id)
        {
            var query  = new GetBookByIdQuery(id);
            var result = await _mediator.Send(query);

            return(result != null ? (IActionResult)Ok(result) : NotFound());
        }
Beispiel #3
0
 public async Task <Book> Handle(GetBookByIdQuery query)
 {
     return(await _libraryContext.Set <Book>()
            .Include(e => e.Author)
            .Include(e => e.Category)
            .Include(e => e.Country)
            .Include(e => e.Language)
            .Include(e => e.Publisher)
            .SingleOrDefaultAsync(e => e.Id == query.Id));
 }
Beispiel #4
0
        public async Task <IActionResult> GetBookById(int libraryId, int bookId, CancellationToken token)
        {
            var request = new GetBookByIdQuery(libraryId, bookId, _userHelper.Account?.Id);
            var book    = await _queryProcessor.ExecuteAsync(request, cancellationToken : token);

            if (book != null)
            {
                return(new OkObjectResult(_bookRenderer.Render(book, libraryId)));
            }

            return(new NotFoundResult());
        }
Beispiel #5
0
 public Book Get(GetBookByIdQuery query)
 {
     // Process query... & return
 }