示例#1
0
        public PagedResponse <EKartonDto> Execute(EKartonSearch search)
        {
            var query = _context.EKarton.AsQueryable();

            if (!string.IsNullOrEmpty(search.Price.ToString()) || !string.IsNullOrWhiteSpace(search.Price.ToString()))
            {
                query = query.Where(x => x.Price.ToString().ToLower().Contains(search.Price.ToString().ToLower()));
            }

            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <EKartonDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new EKartonDto
                {
                    Id    = x.Id,
                    Price = x.Price
                }).ToList()
            };

            return(response);
        }
示例#2
0
 public IActionResult Get([FromQuery] EKartonSearch search,
                          [FromServices] IGetEKartonQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }