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)); }
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))); }