public async Task <IActionResult> CreateOptionAsync(Guid productId, [FromBody] ProductOption option) { try { var product = await _productsRepository.GetByIdAsync(productId); if (null == product) { return(NotFound()); } var productOptionRecord = option.ToProductOption(); product.ProductOptions.Add(productOptionRecord); await _productsRepository.UpdateAsync(product); var updatedProductOption = ProductOption.FromProductOption(productOptionRecord); return(new CreatedResult(nameof(CreateOptionAsync), updatedProductOption)); } catch (Exception ex) { var errorResponse = ResponseManager.FormErrorResponse(ex); return(StatusCode(StatusCodes.Status500InternalServerError, errorResponse)); } }