public IHttpActionResult InsertProduct(InsertProductRequestDto productRequestDto)
        {
            int idInsertedProduct = -1;

            try
            {
                if (productRequestDto.CategoryTypes.Contains("Cars"))
                {
                    throw new ArgumentException(
                              "this endpoint can not be used to create products with the cars category please use /cars");
                }

                Product product = _productsMapper.ToProduct(productRequestDto);
                idInsertedProduct = _productService.InsertProduct(product, productRequestDto.CategoryTypes);
                return(Created($"product/productName?productName={product.Name}", _productsMapper.ToDto(product)));
            }
            catch (Exception ex)
            {
                if (idInsertedProduct != -1)
                {
                    _productService.DeleteProduct(idInsertedProduct);
                }

                return(BadRequest(ex.Message));
            }
        }
Beispiel #2
0
 public Product ToProduct(InsertProductRequestDto productRequestDto)
 {
     return(new Product
     {
         Name = productRequestDto.Name,
         Price = productRequestDto.Price,
         Stock = productRequestDto.Stock
     });
 }