public async Task <ActionResult <IEnumerable <Shipping> > > GetShippings([FromQuery] ShippingParams shippingParams)
        {
            var shippings = await _shippingRepository.GetShippingsAsync(shippingParams);

            Response.AddPaginationHeader(shippings.CurrentPage, shippings.PageSize, shippings.TotalCount, shippings.TotalPages);

            return(Ok(shippings));
        }
Exemplo n.º 2
0
        public async Task <PagedList <Shipping> > GetShippingsAsync(ShippingParams shippingParams)
        {
            var query = _context.Shippings
                        .Include(v => v.Vender)
                        .Include(u => u.User)
                        .Include(l => l.ShippingLot)
                        .Include(m => m.ShippingMethod)
                        .OrderByDescending(o => o.ArrivalDate)
                        .AsQueryable();

            if (shippingParams.fromTimeRange > new DateTime())
            {
                query = query.Where(t => t.ArrivalDate <= shippingParams.toTimeRange && t.ArrivalDate >= shippingParams.fromTimeRange);
            }

            if (shippingParams.VenderNo != null)
            {
                query = query.Where(i => i.Vender.VenderNo.ToUpper() == shippingParams.VenderNo.ToUpper());
            }

            return(await PagedList <Shipping> .CreateAsync(query.ProjectTo <Shipping>(_mapper.ConfigurationProvider).AsNoTracking(),
                                                           shippingParams.pageNumber, shippingParams.PageSize));
        }