Esempio n. 1
0
        public async Task <IActionResult> CreateAsync(Guid productId, [FromBody] ProductOption productOption)
        {
            _logger.Information($"Executing POST - '/products/{productId}/options'");

            if (!ModelState.IsValid)
            {
                return(WebApi.Response.Error(new Error(ErrorCode.BadRequest, AppConstants.InvalidRequest)));
            }

            try
            {
                productOption.ProductId = productId;
                var result = await _productOptionService.CreateAsync(productOption);

                return(result.IsSuccess()
                        ? WebApi.Response.Ok(result.Data)
                        : WebApi.Response.Error(result.Error));
            }
            catch (Exception ex)
            {
                _logger.Error("An error has occurred while getting creating a product option. ProductId: {productId}, Details: {message}", productId, ex.Message);
            }

            return(WebApi.Response.Fatal());
        }