public async Task <UpdateProductPriceResponse> UpdateProductPriceAsync(UpdateProductPriceRequest request)
 {
     return(await Task.FromResult(new UpdateProductPriceResponse
     {
         Price = request.Price,
         ProductId = request.ProductId
     }));
 }
        public async Task <IActionResult> Put([FromBody] UpdateProductPriceRequest request)
        {
            var response = new BaseResponse <UpdateProductPriceResponse>
            {
                Result = new UpdateProductPriceResponse
                {
                    ProductId = request.ProductId,
                    Price     = request.Price
                }
            };

            var bus = await GetSendEndpoint();

            await bus.Send <IUpdateProductPriceCommand>(request);

            return(Ok(response));
        }
示例#3
0
        public async Task <IActionResult> PutProductPriceAsync(int id, [FromBody] UpdateProductPriceRequest request)
        {
            Logger?.LogDebug("'{0}' has been invoked", nameof(PutProductPriceAsync));

            // Validate request model
            if (!ModelState.IsValid)
            {
                return(BadRequest(request));
            }

            var response = new Response();

            try
            {
                // Get entity by id
                var entity = await Service.DbContext.GetProductAsync(new Product(id));

                if (entity == null)
                {
                    return(NotFound());
                }

                entity.LastUpdateUser = User.GetUserName();

                await Service.UpdateProductPriceAsync(entity);

                response.Message = string.Format("The price for product: {0} was changed successfully.", entity.ProductID);

                Logger?.LogInformation("The price was saved successfully.");

                Logger?.LogInformation("The price for product was saved in history successfully.");
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(PutProductPriceAsync), ex);
            }

            return(response.ToHttpResponse());
        }
示例#4
0
        public async Task TestPutProductPriceAsync()
        {
            // Arrange
            var dbContext  = DbContextMocker.GetStoreDbContext(nameof(TestPutProductPriceAsync));
            var service    = ServiceMocker.GetWarehouseService(dbContext);
            var controller = new WarehouseController(service, null);
            var id         = 1000;
            var request    = new UpdateProductPriceRequest
            {
                Price = 2.25m
            };

            controller.MockControllerContext();

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

            var value = response.Value as IResponse;

            service.Dispose();

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