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)); } }
public Product ToProduct(InsertProductRequestDto productRequestDto) { return(new Product { Name = productRequestDto.Name, Price = productRequestDto.Price, Stock = productRequestDto.Stock }); }