Hi Thomas,
The problem is most probably because the
ContentTable can be recalculated without keeping your changes.
If you want to store a custom information for the Order, the best place is to use
ShoppingCartCustomData field, an XML structure that can be managed with
SetValue(keyname, value)
and
GetValue(keyname)
methods.
The advantage of this field is that when creating (or updating) an Order, this field contents is stored to
OrderCustomData field of the Order object.
An Order doesn't hold the ContentTable from the ShoppingCart. Instead, the
ShoppingCartItem (later
OrderItem) objects and other properties are serialized in an
OrderInfo object and when needed (e.g. repeated invoice generation), the calculation process is done on a ShoppingCart(Info)Object created from the OrderInfo object - there's a method to create a shopping cart object out of an existing order.
By the way, you can also store per-item custom data in
ShoppingCartItemInfo.CartItemCustomData or in
OrderItemInfo.OrderItemCustomData properties respectively.
Hope this information will help.
Should you need any additional details, please feel free to ask.
Kind regards,
Zdenek