Пример #1
0
        public IActionResult Create(Guid productId, [FromBody] ProductOptionViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var product = _productRepository.GetSingle(productId);

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

            var newOption = _mapper.Map <ProductOptionViewModel, ProductOption>(model);

            newOption.ProductId = productId;
            newOption.Product   = product;

            _productOptionRepository.Add(newOption);

            try
            {
                _productOptionRepository.Commit();
            }
            catch (DbUpdateException e)
            {
                _logger.LogCritical(e.Message);
                throw e;
            }

            var newModel = _mapper.Map <ProductOption, ProductOptionViewModel>(newOption);

            return(CreatedAtRoute("GetOption", new { productId = productId, id = newModel.Id }, newModel));
        }