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