public async Task Put()

in src/Modules/SimplCommerce.Module.Catalog/Areas/Catalog/Controllers/ProductPriceApiController.cs [74:115]


        public async Task<IActionResult> Put([FromBody] IList<ProductPriceItemForm> productPriceItemForms)
        {
            var currentUser = await _workContext.GetCurrentUser();
            foreach (var item in productPriceItemForms)
            {
                if (!item.NewOldPrice.HasValue && !item.NewPrice.HasValue)
                {
                    continue;
                }

                var product = _productRepository.Query().FirstOrDefault(x => x.Id == item.Id);
                if(product != null && (User.IsInRole("admin") || product.VendorId == currentUser.VendorId))
                {
                    var productPriceHistory = new ProductPriceHistory
                    {
                        Product = product,
                        CreatedBy = currentUser,
                        OldPrice = product.OldPrice,
                        Price = product.Price,
                        SpecialPrice = product.SpecialPrice,
                        SpecialPriceStart = product.SpecialPriceStart,
                        SpecialPriceEnd = product.SpecialPriceEnd
                    };

                    if (item.NewOldPrice.HasValue)
                    {
                        product.OldPrice = productPriceHistory.OldPrice = item.NewOldPrice.Value;
                    }

                    if (item.NewPrice.HasValue)
                    {
                        product.Price = item.NewPrice.Value;
                        productPriceHistory.Price = item.NewPrice.Value;
                    }

                    product.PriceHistories.Add(productPriceHistory);
                }
            }

            await _productRepository.SaveChangesAsync();
            return Accepted();
        }