There is unfortunately, no easy way to do it. You can technically implement your own IPromotionEngine (or rather, intercept it), and implement Evaluate so you can create an in memory order group with that price. it's probably easier to inherit from PromotionEngineContentLoader and override TryGetDefaultPriceAmount. However PromotionEngineContentLoader is a class in internal namespace so that's a risk you have to take
Ok, then I know what to do. I will update my customer. I think they are more into that customers with special price should be excluded from specific campaigns and that can be solved with visitor groups or something.
I have a customer that belong to a specific customer group. That customer group has a special price on an item. We then have a campaign that gives 40% discount on that special item.
The item costs 100kr and if a non logged in customer looks at the item they see a price of 60kr.
I use this line of code:
That gives me a price of 60kr.
If I login with the customer that has a special price he sees the same price 60kr, but if he adds it to the cart he gets 40% on his special price which is 80kr so his price in the cart is correctly 48kr. 40% discount 80kr.
How do I do to show the price of 48kr right away when he looks at the product? I cannot find an overload to GetDiscoutnPrices that considers diffent price types, customer pricing?
If i to this:
That will give me a price of 80kr.
Is there a way for me to get the price of 48kr?