public async Task <IActionResult> PutProductUnitPriceAsync(int?id, [FromBody] PutProductUnitPriceRequest request)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(PutProductUnitPriceAsync));

            Service.UserInfo = UserInfo;

            // Get response from business logic

            var response = await Service
                           .UpdateProductUnitPriceAsync(id, request.UnitPrice);

            // Return as http response
            return(response.ToHttpResult());
        }
        public async Task PutProductUnitPriceAsync()
        {
            // Arrange
            var userInfo   = IdentityMocker.GetWarehouseOperatorIdentity().GetUserInfo();
            var service    = ServiceMocker.GetWarehouseService(userInfo, nameof(PutProductUnitPriceAsync));
            var controller = new WarehouseController(null, service);
            var id         = 1;
            var request    = new PutProductUnitPriceRequest
            {
                UnitPrice = 14.99m
            };

            // Act
            var response = await controller.PutProductUnitPriceAsync(id, request) as ObjectResult;

            var value = response.Value as ISingleResponse <Product>;

            // Assert
            Assert.False(value.DidError);
        }