Пример #1
0
        public async Task <ActionResult <WarehouseToReturnDto> > GetWarehouseById(int id)
        {
            var spec    = new WarehouseWithPaginationSpecification(id);
            var product = await _unitOfWork.Repository <ProductSize>().GetEntityWithSpec(spec);

            if (product == null)
            {
                return(NotFound(new ApiResponse(404)));
            }
            return(_mapper.Map <ProductSize, WarehouseToReturnDto>(product));
        }
Пример #2
0
        public async Task <ActionResult <Pagination <WarehouseToReturnDto> > > GetWarehouse(
            [FromQuery] WarehouseSpecParams wareHouseParams
            )
        {
            //From Query để có thể match request với các giá trị trong object productParams
            var spec      = new WarehouseWithPaginationSpecification(wareHouseParams);
            var countSpec = new WarehouseForCountSpecification(wareHouseParams);
            var totalItem = await _unitOfWork.Repository <ProductSize>().CountAsync(countSpec);

            var products = await _unitOfWork.Repository <ProductSize>().ListAsync(spec);

            var data = _mapper.Map <IReadOnlyList <ProductSize>, IReadOnlyList <WarehouseToReturnDto> >(products);

            return(Ok(new Pagination <WarehouseToReturnDto>(wareHouseParams.PageIndex, wareHouseParams.PageSize, totalItem, data)));
        }