Hi,
What is the full code you are using? Are those values missing from po, or orderGroup?
Hi Ken
It is happening because the orderRepository is part of the new order handling and as such it will apply the IOrderGroupTotalsCalculator upon saving.
This would be similar to running the CartValidateWorkflow or any other workflow that uses the CalculateTotalsActivity.
You can implement your own calculators and register them to have everything the way you like it, but from what i can gather from your post you might actually get away a lot easier, by just setting your values on the OrderForm instead of on the OrderGroup.
@Quan - in my example, the value is set on orderGroup before I make the call.
But after the call, the values are missing from both: orderGroup (the one I passed in), and the po returned to me.
@Erik - You suggested that I work with OrderForm.TaxTotal instead.
I just tried that, but I see the same behavior -- after I call:
var po = orderRepository.SaveAsPurchaseOrder(orderGroup);
... I see that orderGroup.OrderForms[0].TaxTotal becomes 0. Also po.OrderForms[0].TaxTotal is 0. So I don't think that works.
.
Would you recommend using Workflows for the Cart & PurchaseOrder after calling OrderRepository.SaveAsPurchaseOrder ?
Or do you recommend implementing a custom calculator? (is there a good example of how to do it?)
Did the OrderForm approach work for the HandlingTotal?
I would recommend to start with implementing your own ITaxCalculator, possibly inheriting form DeafultTaxCalculator, overriding the CalculateTax method is my first guess and as it operates on shipment that is probably why it won't work when setting on orderform.
You can find some pointers here: http://world.episerver.com/documentation/developer-guides/commerce/orders/calculating-orders/
I have an OrderGroup with a non-zero TaxTotal & ShippingTotal.
I used this code to save it as a PurchaseOrder:
...but, it removed the TaxTotal and ShippingTotal from the OrderGroup I passed in! They are both zero now.
The resulting PurchaseOrder also has TaxTotal & ShippingTotal of zero.
Why is this happening? This is not what happens when using Cart.SaveAsPurchaseOrder().
Edit:
I'm using EPiServer Commerce Framework
Version: 9.24 (build: 1)