public async Task <IActionResult> GetProductInventoryAsync([FromQuery] GetProductInventoryRequest request)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetProductInventoryAsync));

            // Get response from business logic
            var response = await Service
                           .GetProductInventories(request.ProductID, request.LocationID);

            // Return as http response
            return(response.ToHttpResult());
        }
        public async Task GetInventoryByProductAsync()
        {
            // Arrange
            var userInfo   = IdentityMocker.GetWarehouseOperatorIdentity().GetUserInfo();
            var service    = ServiceMocker.GetWarehouseService(userInfo, nameof(GetInventoryByProductAsync), true);
            var controller = new WarehouseController(null, service);
            var request    = new GetProductInventoryRequest
            {
                ProductID  = 1,
                LocationID = "W01"
            };

            // Act
            var response = await controller.GetProductInventoryAsync(request) as ObjectResult;

            var value = response.Value as IListResponse <ProductInventory>;

            service.Dispose();

            // Assert
            Assert.False(value.DidError);
            Assert.True(value.Model.Count() > 0);
        }