public virtual async Task <CartAggregate> ChangeItemPriceAsync(PriceAdjustment priceAdjustment) { EnsureCartExists(); var lineItem = Cart.Items.FirstOrDefault(x => x.Id == priceAdjustment.LineItemId); if (lineItem != null) { await new ChangeCartItemPriceValidator(this).ValidateAndThrowAsync(priceAdjustment, ruleSet: ValidationRuleSet); lineItem.ListPrice = priceAdjustment.NewPrice; lineItem.SalePrice = priceAdjustment.NewPrice; } return(this); }
public virtual async Task <CartAggregate> ChangeItemPriceAsync(PriceAdjustment priceAdjustment) { EnsureCartExists(); var lineItem = Cart.Items.FirstOrDefault(x => x.Id == priceAdjustment.LineItemId); if (lineItem != null) { await AbstractTypeFactory <ChangeCartItemPriceValidator> .TryCreateInstance().ValidateAsync(priceAdjustment, options => options.IncludeRuleSets(ValidationRuleSet).ThrowOnFailures()); lineItem.ListPrice = priceAdjustment.NewPrice; lineItem.SalePrice = priceAdjustment.NewPrice; } return(this); }