public async Task <MyList> HandleAsync(MyBookListQuery request,
                                               CancellationToken cancellationToken)
        {
            var books = await _queryDispatcher.FetchAsync(new MyBooksQuery(), cancellationToken);

            return(new MyList(books));
        }
 private Task <IEnumerable <MyBook> > FetchPendingBooksAsync(CancellationToken cancellationToken)
 {
     return(_queryDispatcher.FetchAsync(new MyBooksQuery
     {
         OnlyStatuses = new[] { MyBookStatus.Pending, MyBookStatus.Postponed }
     }, cancellationToken));
 }
 private Task <T> FetchAsync <T>(IQuery <T> query, CancellationToken cancellationToken)
 {
     return(_queryDispatcher.FetchAsync(query, cancellationToken));
 }
 private Task <IEnumerable <T> > FetchBudgetLogAsync <T>(MonthLogQuery request, CancellationToken cancellationToken)
     where T : BudgetLogEntry
 {
     return(_queryDispatcher.FetchAsync(new BudgetLogQuery <T>(request.Log, request.When), cancellationToken));
 }