コード例 #1
0
        public async Task <TotalList <ProductVm> > Handle(GetProductsQuery request, CancellationToken cancellationToken)
        {
            var query = _context.Products.AsQueryable();

            query = Filter(query, request);
            var total = await query.CountAsync(cancellationToken);

            query = Sort(query, request.Sorts());
            query = SkipTake(query, request);

            var products = await query
                           .ProjectTo <ProductVm>(_mapper.ConfigurationProvider)
                           .ToListAsync(cancellationToken);

            return(new TotalList <ProductVm>(products, total));
        }