public IQueryable <CheckStock> Search(IQueryable <CheckStock> query, CheckStockFilters filters)
 {
     if (!string.IsNullOrWhiteSpace(filters.OrderNum))
     {
         query = query.Where(o => o.OrderNum.Contains(filters.OrderNum));
     }
     return(query);
 }
        public CheckStockFilters GetFilters()
        {
            var filters = new CheckStockFilters()
            {
                Page     = Convert.ToInt32(HttpContext.Request.Query["page"]),
                Limit    = Convert.ToInt32(HttpContext.Request.Query["limit"]),
                OrderNum = HttpContext.Request.Query["orderNum"],
                Code     = HttpContext.Request.Query["code"],
            };

            return(filters);
        }
        public async Task <ResponseModel <CheckStockViewModel> > GetList(CheckStockFilters filters, SortCol sortCol)
        {
            var query = _context.CheckStock.Where(o => o.Id != 0);

            query = Search(query, filters);
            query = Sort(query, sortCol);
            var vms = await query.Skip((filters.Page - 1) *filters.Limit).Take(filters.Limit)
                      .ProjectTo <CheckStockViewModel>().ToListAsync();

            ResponseModel <CheckStockViewModel> result = new ResponseModel <CheckStockViewModel>();

            result.status  = 0;
            result.message = "";
            result.total   = query.Count();
            result.data    = vms;
            return(result);
        }