Ejemplo n.º 1
0
        public async Task <DTResult <CategoryListViewModel> > Handle(GetCategoriesDataTableQuery request, CancellationToken cancellationToken)
        {
            var orderInfo = request.Order[0];

            Expression <Func <Category, bool> > search = x => x.Name.ToLower().Contains(request.Search.Value.ToLower());

            var categoriesCount = await _myBlogDbContext.Categories.CountAsync();

            var categories = await _myBlogDbContext.Categories
                             .Where(search)
                             .Skip(request.Start)
                             .Take(request.Length)
                             .Select(_projection)
                             .ToListAsync();

            categories = OrderData(orderInfo.Column, orderInfo.Dir, categories).ToList();

            var count = request.Start + 1;

            categories.ForEach(x => x.SN = count++);

            return(new DTResult <CategoryListViewModel>
            {
                Data = categories,
                Draw = request.Draw,
                RecordsFiltered = categoriesCount,
                RecordsTotal = categoriesCount
            });
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> GetDataTableResult([FromBody] GetCategoriesDataTableQuery query)
        {
            var response = await _mediator.Send(query);

            return(Ok(response));
        }