We have extended orderform to have a notes collection, in the creditcard pipeline once a payment is made, we log an entry into the note.
How-ever when we run the code,
IDictionary Note = new DictionaryClass();
ISimpleList Notes;
Object NoteObject;
Note[dictionaryNoteSubject] = OrderNoteSubject;
Note[dictionaryNoteCreatedBy] = ProgID;
Note[dictionaryNoteCreatedDate] = DateTime.Now.ToString();
Note[dictionaryNote] = Response;
Note[Constants.orderFormIdProperty] = OrderForm[Constants.orderFormIdProperty];
Note[Constants.orderGroupIdProperty] = OrderForm[Constants.orderGroupIdProperty];
// Check to see if we have any noptes defined. If we don't the value at the
// key will be of type DBNull.
if (OrderForm[orderNotesKey] is System.DBNull)
OrderForm[orderNotesKey] = new SimpleListClass();
// Add our note to the list of order notes.
NoteObject = (object)Note;
((ISimpleList)OrderForm[orderNotesKey]).Add(ref NoteObject);
This action results in storing this in an image field and not in the extended notes table, are we doing something wrong here

Adding Extendend Order attributes in Pipeline.
A.Russell
Joe,
Thanks for your response. The code is run within the Credit Card pipeline (creditcard.pcf). I tried your suggestion and unchecked the "Backward Compatible For CreditCard Processing" option in the PaymentMethodRouterPipelineComp component of the Checkout pipeline but it didn't make a difference. I am also having problems writing to the AuthorizationCode and Status properties of the CreditCardPayment object (still using the dictionary in the pipeline). Same issue of the values not "sticking" but worse since these are both properties of the "base" CS classes.
Lon
Edouard Mercier
Lon,
What pipeline are you running this script from The one issue that this sounds *vaguely* similiar to involved running this sort of code after the PaymentMethodRouter. If you're running this code in one of the payment processing pipelines, open up the checkout pipeline, and try turning off the "Backward Compatibility" option.
Not sure if this will work, but that's the only thing that's coming to mind at the moment.
cstrader
Lon,
That sounds exactly like the last issue, I really think that the Backward Compatibility option is what's causing this:
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1121833&SiteID=1
Did you perform an IISReset after you unchecked the backward compatibility option
Imanol
Michael, and any other posters,
I work with Milind (the original poster) and he is on vacation so I'm taking over this thread from him (since I was the first to discover the issue anyway).
Yes to all of that. We have it in a separate table and have extended all the mappings and the order object. When we try adding a note using the object model it works fine. The problem is when using the COM dictionaries in the pipeline. Even when the collection is populated and serialized into the pipeline the collection seems to vanish. It is as if any extensions to the "base" objects are lost when they get serialized to the dictionary. When I add a note using the code posted above the collection gets saved into the database but it somehow gets attached to the payment (even though I'm adding the collection to a key at the OrderForm level) and saved in the MarshalledData image field of the CreditCardPayment table.
It seems like we're missing something that tells the serializer that this is a strongly typed collection and not a weakly typed one.
Thanks for your response.
Lon Pilot
Dave Kaplan
Joe,
Thanks again as this fixes part of my issue, as well as another related issue dealing with writing AuthCode and Status to the payment. I always forget to do the IISReset!
So now the OrderNotes I add are sticking to the OrderForm level, instead of at the payments level, but they are still not being written to the proper table. They now appear as a property on the Advanced tab of the OrderForm (instead of the same place on the Payment) so that's an improvement!
I am working with Max Akbar of MSFT on this issue and will be sure to post the results when I have them. In the meantime if anyone else has any thoughts please let me know.
Thanks again!
Lon
Tigerwood2006