Пример #1
0
        public IHttpActionResult Post(Guid id, [FromBody] ProductOptionDto productOption)
        {
            try
            {
                if (productOption == null || productOption.ProductId != id)
                {
                    return(BadRequest());
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (!_productRepository.ProductExists(id))
                {
                    return(NotFound());
                }

                var productOptionToAdd = Mapper.Map <ProductOption>(productOption);
                _productOptionRepository.AddProductOptionToProduct(productOptionToAdd, id);

                if (!_productOptionRepository.Save())
                {
                    return(new ResponseMessageResult(new HttpResponseMessage(HttpStatusCode.InternalServerError)));
                }

                return(new ResponseMessageResult(new HttpResponseMessage(HttpStatusCode.Created)));
            }
            catch (Exception ex)
            {
                return(new ResponseMessageResult(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)));
            }
        }